设计内容:
以非图形界面的菜单式的形式对数组中的学生名字进行初始化、添加、删除和查询等基本功能。为了方便些,设输入的学生名字不能重名。
设计要求:
当运行程序后,显示主菜单如下:
1. 初始化数组。(注:把10个学生名字存到数组name中,同时把学生名写到文件stu.txt中)
2. 添加一个学生名字到数组name中。(注:stu.txt中的内容也相应的发生改变)
3. 从数组name中删除一个学生名字。(注:stu.txt中的内容也相应的发生改变)
4. 查找学生名是否存在。(注:如果存在就打印“found!”,否则打印“no found!”)
5. 退出。
#include "stdio.h"
#include "string.h"
menu()
{
int c;
printf("1.init\n");
printf("2.add\n");
printf("3.delect\n");
printf("4.find\n");
printf("5.quit\n\n");
do{
printf("please input a select 1-5:\n\n");
scanf("%d",&c);
}while(c<0||c>5);
return c;
}
main()
{ char a[100][100];
for(;;)
{
switch(menu())
{ case 1: init(a);break;
case 2: add(a);break;
case 3: delect(a);break;
case 4: find(a); break;
case 5:exit(0);
}
}
}
int init(char array[][100])
{
int i;
FILE *fp=fopen("f:\\tc20\\stu.txt","w+");
printf("input 10 name:\n");
for(i=0;i<10;i++)
scanf("%s",array[i]);
strcpy(array[i],"0");
for(i=0;;i++)
{
if(strcmp(array[i],"0")==0)break;
fprintf(fp,"%s ",array[i]);
}
fclose(fp);
}
int add(char array[][100])
{
int i;
FILE *fp=fopen("f:\\tc20\\stu.txt","r+");
printf("intput 0-9:\n");
scanf("%d",&i);
put(array[i]);
scanf("%s",array[i]);
fprintf(fp,"%s ",array[i]);
fclose(fp);
}
int delect(char array[][100])
{
int i;
FILE *fp=fopen("f:\\tc20\\stu.txt","r+");
printf("intput 0-9:\n");
scanf("%d",&i);
put(array[i]);
strcpy(array[i],"0");
fprintf(fp,"%s ",array[i]);
fclose(fp);
}
int find(char array[][100])
{
int i;
char name[20];
FILE *fp=fopen("f:\\tc20\\stu.txt","r");
printf("intput name:\n");
scanf("%s",name);
if(name[20]==array[0]&&name[20]==array[1])
{printf("found\n");break;
else
printf("no found\n");break;}
fprintf(fp,"%s ",array[i]);
fclose(fp);
}
有些地方写错不~~高手能帮看看吗???帮我修改一下!今天借了同学的号才能上网的!!希望高手帮看看!