帮忙改代码 给高分 (28号结帖)
题目:
学生信息管理系统
至少有学号、姓名、性别、系名、班级名、出生年月、学院住址、电话号码
要求:至少有输入数据,显示数据,进一步可以设计编辑、修改、删除等功能。增加排序,查询数据等功能。
界面要求全屏设计,比较好看,所有功能可以反复使用,最好是用一个菜单管理起来。
数据类型至少要用到结构体和数组,进一步可以使用文件进行存储和管理。
设计的大致过程和步骤:
1,首先要明确,这个主要是对结构体数组进行操作!考虑学生信息主要分为这样几个变量,
学号, 姓名,性别,系名,班级名,出生年月,学院地址,电话号码!
2,排序: 排序是根据学号来排名次的,然后按降序方式排列记录到数组中!
3,插入,修改,删除: 在记录学生信息的数组中,第一,找到所要操作的记录,然后对相应的记录进行操作(寻找一条记录,可以根据,姓名,编号,成绩等来查找)
1>插入操作,输入一条
#include<conio.h>
#include<stdio.h>
#define N 10
int i=0;
void main()
{
struct student
{
int ClassNO; /*学号*/
char Name[8]; /*姓名*/
char Sex[2]; /*性别*/
char xiName; /*系名*/
char ClassName; /*班级名*/
int year,month,day; /*日期*/
char address[60]; /*学院地址*/
int PNO; /*电话号码*/
}stud[N];
int ch;
FILE *fp; /*定义文件指针*/
asm { mov ax,0x3; /*设置到全屏的文本模式*/
int 0x10;
}
clrscr();
printf( "\t*******************************************************\n" );
printf( "\t** 学生信息管理系统 **\n" );
printf( "\t*******************************************************\n" );
begin:
printf("select a number for your choise\n"); /*请输入数字进行选择*/
printf("\t 1.Input data\n"); /*输入数据*/
printf("\t 2.Read data\n"); /*读取数据*/
printf("\t 3. Exit "); /*退出*/
scanf("%d",&ch);
switch(ch)
{
case 1: i++;
printf(" Input ID:");scanf("%d",stud.ClassNO);/*输入学号*/
printf(" Name:");scanf("%s",stud.Name); /*名字*/
printf(" Sex:");scanf("%s",stud.Sex); /*性别*/
printf(" copulative:");scanf("%s",stud.xiName); /*系名*/
printf(" Class:");scanf("%s",stud.ClassName); /*班别号*/
printf(" date year:");scanf("%d",&stud.year); /*日期,年*/
printf(" month:");scanf("%d",&stud.month); /*月*/
printf(" day:");scanf("%d",&stud.day); /*日*/
printf(" address:");scanf("%s",stud.address);/*学院地址*/
printf(" phone number:");scanf("%d",stud.PNO); /*电话号码*/
clrscr();
printf("\t ID:%d\n",stud.ClassNO);
printf("\t Name:%s\n",stud.Name);
printf("\t Sex:%s\n",stud.Sex);
printf("\t copulative:%s\n",stud.xiName);
printf("\t Class:%s\n",stud.ClassName);
printf("\t date: %d year\n",stud.year);
printf("\t %d month\n",stud.month);
printf("\t %d day\n",stud.day);
printf("\t address:%s\n",stud.address);
printf("\t phone number:%d\n",stud.PNO);
getch();
printf("\n\n Save...");
sleep(1);
if((fp=fopen("class.txt","w+"))==NULL) /*打开文件并判断是否出错*/
{
printf("create file failed!!\n\n"); /*创建文件失败,打印出错提示*/
getch();
exit(1);
}
if(fwrite(&stud,sizeof(struct student),1,fp)!=1)
printf("file write error!\n");
fclose(fp); /*关闭文件*/
break;
case 2:
if((fp=fopen("class.txt","rb"))==NULL) /*打开文件,并判断是否出错*/
{
printf("cannot open file!"); /*打印出错提示*/
getch();
exit(1);
}
fscanf(fp,"%d",&m);
for(i=0;i<m;i++)
{
fread(&s,sizeof(air),1,fp); /*从文件中读取信息*/
}
fclose(fp); /*关闭文件*/
}
break;
case 3:printf("Exit...");
sleep(1);
exit(1);
break;
default:clrscr();
printf("请输入数字 1 ,2 ,3\n");
goto begin;
break;
}
}
错误好多,帮帮忙改成和题目一样的 给高分
谢谢