#include <stdio.h>
#include <stdlib.h>
printf("1.Input record\n");
printf("2.Sort and list records in reverse order by user name\n");
printf("3.Search records by user name\n");
printf("4.Calculate and list per capita income and expenses\n");
printf("5.List records which have more expenses than per capita expenses\n");
printf("6.List all records\n");
printf("0.Exit\n");
}
不知为什么禁止重复输入%-s
int main()
{
int option,n,flag=1;
char s[N_NAME];
User *users=NULL;
PrintOptions();
while(flag)
{
printf("\tPlease enter your choice:");
scanf("%d",&option);
switch(option)
{
case 1:
printf("请输入用户人数:");
scanf("%d",&n);
users=ScanValues(n);
break;
case 2:
SortByName(n,users);
PrintValues(n,users);
break;
case 3:
printf("Please input the user name:");
scanf("%s",s);
int index=FindUserByName(s,n,users);
PrintValue(index,users);
break;
case 4:
CalcAndPrintAverageNumber(n,users);
break;
case 5:
PrintSpecificValues(n,users);
break;
case 6:
SortByID(n,users);
PrintValues(n,index);
break;
case 0:
flag=0;
printf("退出系统\n");
break;
default:
printf("请输入正确的选项\n");
break;
}
}
for(int i=0;i<n;i++)
free(users[i].name);
free(users);
return 0;
}
测试用例1:显示菜单项1.Input record2.Sort and list records in reverse order by user name3.Search records by user name4.Calculate and list per capita income and expenses5.List records which have more expenses than per capita expenses6.List all records0.Exit Please enter your choice:测试用例2:输入:选择菜单项1请输入用户人数:10001 zero 6000 150010023 Aef 10000 300020011 eric001 20000 1000020012 ffff 15000 030004 abc 8000 14000测试用例3:输入:选择菜单项2输出:ID UserName Income Expenses110001 zero 6000 150020012 ffff 15000 020011 eric001 20000 1000030004 abc 8000 1400010023 Aef 10000 3000测试用例4:输入:选择菜单项3输出:Please input the user name:输入:eric001输出:ID UserName Income Expenses20011 eric001 20000 10000测试用例5:输入:选择菜单项3输出:Please input the user name:输入:eric输出:Not Found测试用例6:输入:选择菜单项4输出:Per capita income: 11800Per capita expenses: 5700测试用例7:输入:选择菜单项5输出:ID UserName Income Expenses030004 abc 8000 1400020011 eric001 20000 10000