一、题目:17大学生信息管理系统
二、目的与要求
1. 目的
培养学生综合利用C++语言进行程序设计的能力,培养学生的编程能力、用计算机解决实际问题的能力,加强对理论知识的理解和实际运用;培养学生对软件工程知识和方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力;提高学生的实际动手能力和独立思考的能力。
2. 基本要求
(1) 用C++语言编程,在Visual C++环境下调试完成;
(2) 使用结构数组,各个功能分别使用函数来完成。
(3) 源代码程序要有必要的注释。
三、设计方法和基本原理
1.课题功能描述
本课题要求设计一个大学生信息管理系统,主要包括学生信息的录入、修改、排序、删除、查询和浏览。
2. 问题详细描述
大学生信息包括:学号、姓名、出生日期、性别、专业、联系电话、简历。
大学生信息管理系统功能主要包括:录入学生信息;按照姓名查询学生信息;修改学生信息;删除学生信息;按照学号排序学生信息;浏览学生信息。
要求提供一个主界面实现大学生信息管理系统的主菜单并调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。要求系统主界面如下形式:
----------欢迎使用大学生信息管理系统主菜单-----------
录入学生信息,请选择:1
查询学生信息,请选择:2
修改学生信息,请选择:3
删除学生信息:请选择:4
排序学生信息:请选择:5
浏览学生信息,请选择:6
退出,请选择:0

3. 问题的解决方案
(1) 构造大学生信息的结构,采用结构体类型定义大学生信息的结构。
(2) 定义结构数组存储大学生信息记录;
(3) 为实现程序的功能,学生信息管理系统的主界面和各个功能可分别用函数来实现,在主函数中完成各个函数的调用。
四、主要技术问题的描述
(1) 分支和循环结构的使用,结构数组的使用。
(2) 函数调用
五、课程设计的考核方式及评分方法
1.考核方式
(1) 学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件和.h头文件上传到所对应班级的学生名称相应文件夹中。如果上传后有修改,文件名注意添加“最终版”字样。
(2) 课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运行结果是否正确,并回答教师提出的有关问题。
2.评分方法
根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。
六、书写设计报告的要求(详细内容见“设计报告模板”)。
七、说明:课程设计的有关文档“设计报告模板”和“课程设计要求”请在下载任务书处下载。

下面是解答

完成80%了,程序都能运行,还有一点功能没有加进去,自己加吧,另外写的比较匆忙,肯定有不完善的地方,希望完善哦!

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
typedef struct students
{
//学号、姓名、出生日期、性别、专业、联系电话、简历
int num;
char name[100];
char birth[100];
char sex[100];
char specialty[100];
char phone[100];
char resume[100];
struct students *next;
}student;
void Menu();
void Show(student *head);
void Find(student *head);
void Insert(student *head);
void Delete(student *head);
void sonInsert(student *theNew);
int main()
{
student *head;
student *p;
head =(student *)malloc(sizeof(student));
p = head;
//初始化
head->num = 0;   //学号
strcpy(head->name,"姓名");
strcpy(head->birth ,"出生年月");
strcpy(head->sex , "性别");
strcpy(head->specialty , "专业");
strcpy(head->phone , "电话");
strcpy(head->resume , "简历");
head->next = NULL;
while(1)
{
Menu();
char temp[100];
gets(temp);
int i = atoi(temp);
switch(i)
{
case 1:
//浏览
Show(head);
printf("\r\n");
break;
case 2:
//查询
Find(head);
printf("\r\n");
break;
case 3:
//添加
Insert(head);
printf("\r\n");
break;
case 4:
//删除
Delete(head);
printf("\r\n");
break;
case 0:
exit(0);
}
}
printf("Press any key continue...\n");
return 0;
}
void Menu()
{
printf("欢迎使用大学生信息管理系统主菜单\r\n");
printf("浏览学生信息,请选择:1\r\n");
printf("查询学生信息,请选择:2\r\n");
printf("添加学生信息,请选择:3\r\n");
printf("删除学生信息:请选择:4\r\n");
printf("退出,请选择:0        \r\n");
}
//浏览
void Show(student *head)
{
student *p;
p=head;
while(p!=NULL)
{
printf("\r\n");
printf("%8d,%8s,%8s,%8s,%8s,%8s,%8s\r\n",p->num,p->name,p->birth,p->sex,p->specialty,p->phone,p->resume);
p = p->next;
}
}
//查询
void Find(student *head)
{
printf("请输入要查询学生的学号:");
char temp[100];
gets(temp);
int number = atoi(temp);
student *p;
p = head;
int i = 0;
while (p!=NULL)
{
if (p->num == number)
{
printf("%d,%8s,%8s,%8s,%8s,%8s,%8s\r\n",p->num,p->name,p->birth,p->sex,p->specialty,p->phone,p->resume);
break;
}
else
{
p = p->next;
}
}
if (p == NULL)
{
printf("没有查询到所需信息!\r\n");
}
}
//添加
void Insert(student *head)
{
student *headTemp;
headTemp = head;
student *p;
student *theNew;
char temp[100];
theNew = (student *)malloc(sizeof(student));
printf("输入学号(整数):");
gets(temp);
int number = atoi(temp);
theNew->num = number;
if (number < (headTemp->num))             //学号排在最前
{
sonInsert(theNew);
theNew ->next = headTemp;
}
else
{
for (p = head;p != NULL;p = p->next)
{
if (p->num == number)
{
printf("此学号已添加\r\n");
}
else if ( ((p->num))<number && number<(p->next!=NULL) )          //学号排在中间
{
sonInsert(theNew);
p->next = theNew;
theNew->next = p->next;
break;
}
else if ( (p->num)<number && p->next==NULL )                //学号排在最后
{
sonInsert(theNew);
p->next = theNew;
theNew->next = NULL;
break;
}
}
}
};
//添加函数的子函数
void sonInsert(student *theNew)
{
char tempName[10000],tempBirth[100],tempSex[100],tempSpecialty[100],tempPhone[100],tempResume[100];
printf("输入姓名:");
gets(tempName);
printf("输入出生年月:");
gets(tempBirth);
printf("输入性别:");
gets(tempSex);
printf("输入专业:");
gets(tempSpecialty);
printf("输入电话:");
gets(tempPhone);
printf("输入简历:");
gets(tempResume);
strcpy(theNew->name,tempName);
strcpy(theNew->birth ,tempBirth);
strcpy(theNew->sex , tempSex);
strcpy(theNew->specialty, tempSpecialty);
strcpy(theNew->phone , tempPhone);
strcpy(theNew->resume , tempResume);
printf("添加完成!");
printf("\r\n");
}
//删除
void Delete(student *head)
{
printf("请输入要删除学生的学号:");
char temp[100];
gets(temp);
int number = atoi(temp);
student *p,*q;
q = head;
for (q = head ;q !=NULL;q = q->next)
{
p = q->next;
if ( p->num == number)
{
q->next = p->next;
free(p);
printf("已删除!\r\n");
printf("\r\n");
break;
}
else
{
printf("没有找到!\r\n");
break;
}
}
}

课程设计:大学生信息管理系统相关推荐

  1. c语言用链表写管理系统程序,c语言课程设计职工信息管理系统单链表实现程序源代码-20210401015126.docx-原创力文档...

    文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] C语言课程设计职工信息管理系统单链表实现程序源代 ...

  2. c语言课程设计宠物店,c语言课程设计-宠物店信息管理系统.doc

    c语言课程设计-宠物店信息管理系统 合肥学院 计算机科学与技术系 课程设计报告 2012-2013学年第二学期 课程面向过程综合设计课程设计名称宠物(小动物)店信息管理系统 学生姓名宋俊 学号 专业班 ...

  3. 数据库课程设计-员工信息管理系统(基于python和MySQL实现)

    一.项目地址 具体项目相关信息可移步至我的Github查看,那里有整套项目文件以及课程设计报告等,仅供交流学习和参考,如有错误之处请多多指正哦. 二.系统定义 随着计算机技术的不断发展,计算机作为知识 ...

  4. 《C语言》课程设计——火车票信息管理系统

    <C语言>课程设计--火车票信息管理系统 一.课题功能描述 二.基本原理 三.程序代码 一.课题功能描述 本课题要求设计一个火车票信息管理系统,主要包括火车时刻信息的录入.火车票查询.统计 ...

  5. c语言课程设计 职工信息管理系统,C语言课程设计-职工信息管理系统程序设计.doc...

    C语言课程设计-职工信息管理系统程序设计 C语言课程设计报告 设计题目:职工信息管理系统程序设计 课程设计评语2 目 录3 1.课程论文题目4 2.程序设计思路4 3.功能模块图5 4.数据结构设计5 ...

  6. C语言 课程设计——职工信息管理系统

    C语言 课程设计--职工信息管理系统 提示:该课程设计是本人第一次制作,有诸多不足之处,希望王对你有些许帮助!!! 文章目录 C语言 课程设计--职工信息管理系统 前言 一.首先定义一个结构体数组 二 ...

  7. ASP.NET程序设计课程设计——学生信息管理系统

    点击查看详细信息 ASP.NET程序设计课程设计--学生信息管理系统 一.实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程 ...

  8. oracle学生信息管理系统课程设计,数据库课程设计-学生信息管理系统的设计与实现.doc...

    数据库课程设计-学生信息管理系统的设计与实现 2011-2012课程设计II 学生信息管理系统的设计与实现 一 设计内容 建立一个简单的在校学生信息查询系统,可以让使用者查询到学生的一些简单的个人信息 ...

  9. C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc

    c语言课程设计学生信息管理系统 课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 汤璞君 班级学号: BX1209 121003410937 指导教师: 吉顺如 完成日期: 2013.6. ...

  10. java查询学生信息_分别显示女生_女生学生基本信息的代码_java课程设计学生信息管理系统_毕业论文.doc...

    java课程设计学生信息管理系统_毕业论文 学 号: 课 程 设 计 题 目学生信息管理系统学 院计算机科学与信息工程学院专 业金融信息化服务外包班 级学生姓名指导教师 2015年12月28日 课程设 ...

最新文章

  1. php mysql execute语法_PHP PDOStatement::execute讲解
  2. 自定义表单mysql_自定义表单,计算答案然后更新mysql DB(Custom form, calculate answer then update mysql DB)...
  3. 推荐8个年薪100万BAT级优质技术大号
  4. iOS UTI(统一类型标识)
  5. 最小生成树(MST)
  6. Geospark-SQL加载SHP数据
  7. JAVA中extends 与implements区别
  8. html5 ocr图片识别,OCR识别控件LEADTOOLS HTML5案例:整页OCR识别
  9. 《算法导论》CLRS算法C++实现(六)P100 基数排序
  10. 知道域名差服务器系统,对DNS域名系统的抓包分析
  11. C语言计算圆周率PI的代码
  12. 机器人码垛手持式编程_工业机器人的码垛编程方法
  13. 计算机应用if函数题目,if函数练习题.doc
  14. 安卓126邮箱服务器怎么填,安卓126邮箱设置.doc
  15. 熟女给老实木讷男孩的恋爱建议(转帖)
  16. android移动应用开发答案,Android移动应用开发习题答案.pdf
  17. 九寨沟地震类毕业论文文献都有哪些?
  18. 关于如何使用python下载各大网站的视频
  19. U-boot-2009.08移植(三)支持Nor FLASH
  20. 怎么在Mysql中添加列_mysql如何给表中添加列(字段)?

热门文章

  1. ECMAScript:客户端脚本语言的标准
  2. 不能返回函数内部new分配的内存的引用_JNI开发之局部引用、全局引用和弱全局引用(三)...
  3. ireport交叉报表 crosstab排序_质性数据分析软件NVivo教程:交叉表查询
  4. post怎么用php,$_POST[''];怎么用
  5. shell编程关于数组的那点事
  6. 最受互联网争抢的web前端工程师
  7. Javascript:一个屌丝的逆袭之路
  8. 前端基础-CSS如何布局以及文档流,对于新手来说,特别有用
  9. web前端入门到实战:CSS3两大实用属性,以及网页制作技巧
  10. JavaSE01、如何写一个Java代码