So what I am trying to do is write a simple program with a main menu where the user will be able to fill in the details of a project,list all projects, delete a chosen project or exit the program. Projects will be saved in an array. The functions will use structures.
我已撰写了一部功能性法典,其中汇编了罚款(一般交易单知道),但迄今为止,只有第四种选择“Exit”工程。 其他3项选择似乎未奏效。
我的守则如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct fullname
{
char name[10];
char surname[10];
};
struct meletes
{
int identifier;
struct fullname customer;
char date[10];
float price;
};
void initialize(struct meletes projects[10]);
struct meletes newp(struct meletes projects[10]);
struct meletes list(struct meletes projects[10]);
struct meletes deletep(struct meletes projects[10]);
int main(void)
{
int choice,k;
struct meletes projects[10];
void initialize(struct meletes projects[10]);
printf("Main Menu
========
");
printf("Please choose a function from below:
");
printf("1.New Project
2.Delete
3.List
4.Exit
");
scanf("%d", &choice);
while ((choice != 1) && (choice != 2) && (choice != 3) && (choice != 4))
{
printf("You have chosen a wrong function, please use numbers 1-4:
");
printf("Main Menu
========
");
printf("Please choose a function from below:
");
printf("1.New Project
2.Delete
3.List
4.Exit
");
scanf("%d", &choice);
}
while (choice != 4)
{
switch (choice) {
case 1:
{
struct meletes newp(struct meletes projects[10]);
}
case 2:
{
struct meletes deletep(struct meletes projects[10]);
}
case 3:
{
struct meletes list(struct meletes projects[10]);
}
}
printf("Main Menu
========
");
printf("Please choose a function from below:
");
printf("1.New Project
2.Delete
3.List
4.Exit
");
scanf("%d", &choice);
}
printf("Thank u.
");
system("pause");
return 0;
}
void initialize(struct meletes projects[10])
{
int l;
for(l=0; l<10; l++)
{
projects[l].identifier = 00000;
projects[l].price = 0.00;
strcpy(projects[l].customer.name,"----------");
strcpy(projects[l].customer.surname,"----------");
strcpy(projects[l].date, "0/0/0");
}
}
struct meletes newp(struct meletes projects[10])
{
int i;
for(i=0; i<10; i++)
{
if (projects[i].identifier == 00000)
{
scanf("Please enter the project s identifier %d
", &projects[i].identifier);
scanf("Name:%s
", &projects[i].customer.name);
scanf("Surname:%s
", &projects[i].customer.surname);
scanf("Give the date in dd/mm/yyyy! format :%c
", &projects[i].date);
scanf("Price:&f
", &projects[i].price);
}
break;
}
}
struct meletes deletep(struct meletes projects[10])
{
int j,id;
for (j=0; j<10; j++)
{
if (projects[j].identifier != 00000) //Emfanizei oles tis meletes pou den ine diegrammenes
{
printf("%d
", projects[j].identifier);
}
}
scanf("
Please insert the identifier of the project u want to delete:%d", &id);
for(j=0; j<10; j++)
{
projects[j].identifier = 00000;
projects[j].price = 0.00;
strcpy(projects[j].customer.name,"----------");
strcpy(projects[j].customer.surname,"----------");
strcpy(projects[j].date, "0/0/0");
}
}
struct meletes list(struct meletes projects[10])
{
int k;
for(k=0; k<10; k++)
{
if (projects[k].identifier != 00000);
{
printf(" Project %d:", k);
printf("
Identifier:%d
", projects[k].identifier);
printf("Name:%s
", projects[k].customer.name);
printf("Surname:%s
",projects[k].customer.surname);
printf("Date:%s
", projects[k].date);
printf("Price:%d
", projects[k].price);
}
}
} `
任何想法都将得到真正的赞赏。