修改一下这个程序 C语言的 有追加分!!!问题是分段的

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:43:48
学生证管理系统
该程序应该具有下列功能:
 通过键盘输入某位学生的学生证信息
 给定学号,显示某位学生的学生证信息
 给定某位学生的学号,修改、删除该学生的学生证信息
 其他功能自定
要求:
(1)将数据存贮在单独的文件中
(2)以菜单方式进行管理。菜单项包括:数据的输入、显示、编辑、修改、删除、排序、查询等功能;用户输入1个选项,进行相应的操作
(3)若用户输入数据或信息不正确,给出相应的“错误”信息显示,重复刚才的操作。
(4)界面要求美观,提示信息准确,所有功能可以反复使用。

#include <stdio.h>
#include <string.h>
#define SIZE 1000
#define NULL 0
struct student
{
long num;
char name[15];
char sex[2];
char coll[5];
int age;
}stu[SIZE];
int choice();
int Input();
void Print();
int add();
void PrintOne();
void Modify();
void Del();
int m,n;
/****************************/
int count=0;
void main()
{
int c;
do
{
clrscr();
c=choice();
switch(c)
{
case 0:printf("\n\t\t\t\tbye

/*********************/
void Print(struct student stu[])
{
int i;
FILE *fp;
fp=fopen("stu_list.txt","r");
clrscr();
printf("\t--------\n");
printf("%d\t\n",count);
for(i=0;i<=count;i++)
{
fread(&stu[i],sizeof(struct student),1,fp);
printf("\t %-10ld %-5s %-2s %-5s %d \n",stu[i].num,stu[i].name,stu[i].sex,stu[i].coll,stu[i].age);
}
printf("\t----------\n");
fclose(fp);
getch();
}
/******************/
void PrintOne(struct student stu[])
{
int i,w,x;
FILE *fp;char v[10];

printf("Input this student's number");
scanf("%d",&w);
fp=fopen("stu_list.txt","r");
for(i=0;i<=count;i++)
{
fread(&stu[i],sizeof(struct student),1,fp