学生籍贯信息记录簿_C语言课程设计

HUNAN UNIVERSITY
程序设计训练
报  告
    学生姓名    岳全有  邓江军         
      学生学号    ***********  ***********       
    专业班级          电气工程及其自动化   
    指导老师            黄友荣           
    院长 (系主任)                      王耀南                                 
2011年    7月      8 日
                                   
一.设计内容与要求
      编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能要求如下:
    1.创建信息链表并以磁盘文件保存;
2.读取磁盘文件并显示输出所有学生的籍贯信息;
3.按学号或姓名查询其籍贯;
4.按籍贯查询并输出该籍贯的所有学生;
5.能添加、删除和修改学生的籍贯信息;
6.显示输出江苏籍和非江苏籍学生的信息并可分别存盘。
.主要技术指标及特点
3.0  信息描述 (注:用流程图表示)
2.1  创建信息链表并以磁盘文件保存
/**********************建立链表******************************/
struct hj 
{ long number;
  char name[10],address[50];
  struct hj *next;
};
/*********************文件操作函数******************************/
FILE *fp;
void openfile(char xx[20])
{
fp=fopen(xx,"ab+");
if(fp==NULL)
    fp=fopen(xx,"wb");
}
/************************主函数********************************/
int main(int argc, char* argv[])
begin: 拟合优度检验
    int t;
system("cls");
printf("\n                ★★★★★欢迎使用户籍管理系统★★★★★\n\n\n\n\n");
printf("                        一 录入学生籍贯信息\n\n");
printf("                        二 查编学生籍贯信息\n\n");
printf("                        三 删除学生籍贯信息\n\n");
printf("                        四 退出程序\n\n");
printf("                        请您选择:");
mm:
scanf("%d",&t);
switch(t)
{
  case 1: hjnew();break;
  case 2: hjselect();break;
  case 3: hjde();break;
  case 4:exit(0);
  default:printf("\n                        错误的选择,请重新选择:");
      goto mm;
}
goto begin;了不起的盖茨比2012
    return 0;
}
2.2  读取磁盘文件并显示输出所有学生的籍贯信息;
void allselect(char a[8])//全部查询
{
int n=0;
int k=0;
system("cls");
printf("\n            ★★★★★欢迎使用户籍管理系统★★★★★\n");
printf("\n                        ★★★籍贯方式信息★★★\n\n\n");
struct hj *p;
struct hj *q=NULL,*head=NULL;
fp=fopen(a,"rb");
if(fp==NULL)
{
  printf("\n对不起,没有记录无法查询!");
  goto xxxx;
}
rewind(fp);
while(!feof(fp))
{
  n++;
  p=(struct hj *)malloc(sizeof(struct hj));
  fread(p,sizeof(struct hj),1,fp);
通古斯族  if(n==1)
    head=p;
  else
    q->next=p;
  q=p;
}
q->next=NULL;
    struct hj *h1,*p2,*q3,*r4,*s5;
水土保持研究 h1=p2=(hj *)malloc(sizeof(struct hj));
p2->next=head;
while(p2->next!=NULL)
{
  q3=p2->next;
  r4=p2;
  while(q3->next!=NULL)
  {
  if(q3->next->number<p2->next->number)
  r4=q3;
  q3=q3->next;
  }
  if(r4!=p2)
  {
  s5=r4->next;
  r4->next=s5->next;
2012安徽文综
  s5->next=p2->next;
  p2->next=s5;
  }
  p2=p2->next;
}
head=h1->next->next;
free(h1);
    p=head;
while(p!=NULL&&n>0)
{
  n--;
  printf("\n学号=%ld  姓名=%s",p->number,p->name);
  printf("\n地址=%s",p->address);
浏阳霉素
        p=p->next;
}
xxxx:
printf("\n→显示完毕←\n⑴↑返回上级菜单⑵↓退出程序\n请 选 择 :");
xxx:
scanf("%d",&n);
switch(n)
{
  case 1:break;
  case 2:exit(0);
  default:printf("\n错误的选择,请重新选择:");
    goto xxx;
}
}
void hjselect(void)//查询编辑信息函数
{
cxbegin:
int a;
system("cls");
printf("\n                ★★★★★欢迎使用户籍管理系统★★★★★\n");
printf("\n                        ★★★查询编辑信息★★★\n\n\n");
printf("\n                        一    按学号方式查询\n");
printf("\n                        二    按姓名方式查询\n");
printf("\n                        三    按籍贯方式查询\n");
printf("\n                        四    →显示全部信息\n");
printf("\n                        五    ←返回上级菜单\n");
printf("\n                        请 选 择 查 询 方 式:");
cxmm:
scanf("%d",&a);
switch(a)
{
  case 1: hjxmselect();goto cxbegin;break;
  case 2: hjxhselect();goto cxbegin;break;
  case 3: hjjgselect();goto cxbegin;break;
  case 4: allselect("hj.txt");goto cxbegin;break;
  case 5: break;
  default:printf("\n错误的选择,请重新选择:");
      goto cxmm;
}
}
2.3 按学号或姓名查询其籍贯;
/*****************************查询函数*************************/
void hjxmselect(void) //按学号方式查询函数
{
ssmmx:
int n=0;
long hh;
system("cls");
printf("\n                ★★★★★欢迎使用户籍管理系统★★★★★\n");
printf("\n                        ★★★查询编辑信息★★★\n");

本文发布于:2024-09-22 05:37:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/152087.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   学生   查询   文件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议