• 回答数

    6

  • 浏览数

    130

沈阳王小圈儿
首页 > 期刊论文 > 学生信息管理系统毕业论文代码

6个回答 默认排序
  • 默认排序
  • 按时间排序

马路口的miraale

已采纳

#include #include struct student {long int num;char name[20];int age;char sex[4];char b[30];char p[15];};int n=0;struct student stu[100];struct student *p;void lr();void ll();void cx();void xg();void sc();void main(){int z;printf("+---------------------------+\n");printf("| 欢迎使用学生信息管理系统 |\n");printf("+---------------------------+\n");printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");do{printf("\n\t\t\t--------------------------------\n");printf("\t\t\t+ 主菜单 |\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ [1]----录入学生信息 |\n");printf("\t\t\t+ [2]----浏览学生信息 |\n");printf("\t\t\t+ [3]----查询学生信息 |\n");printf("\t\t\t+ [4]----删除学生信息 |\n");printf("\t\t\t+ [5]----修改学生信息 |\n");printf("\t\t\t+ [0]----退出系统 |\n");printf("\t\t\t--------------------------------\n");printf("请输入您的选择:");scanf("%d", &z);switch(z){case 0 : break;case 1 :lr();break;case 2 :ll();break;case 3 :cx();break;case 4 :sc();break;case 5 :xg();break;default:printf("\n无效选项!");}}while(z!= 0);}void lr()/*录入函数*/{int y;if(n==0)p=stu;do{printf("--------------------\n");printf("请输入学生的学号:");scanf("%ld",&p->num);printf("请输入学生的姓名:");scanf("%s",p->name);printf("请输入学生的年龄:");scanf("%d",&p->age);printf("请输入学生的性别:");scanf("%s",p->sex);printf("请输入学生的地址:");scanf("%s",p->b);printf("请输入学生的电话:");scanf("%s",p->p);n++;p++;printf("\n1.继续输入.\n0.输入完毕.\n");printf("请选择:");scanf("%d",&y);}while(y==1);printf("提示:输入完毕!你一共输入%d个\n",n);}void ll()/*浏览函数*/{int i,j;if(n!=0){ printf("学生总数:%d\n", n);printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");printf("-----------------------------------------------------\n");for(i=0;i

208 评论

肉祖宗想切肉

这是成绩管理系统

119 评论

丝雨如薇

Hu118391  徊 c语言课程设计希望我的回答,你能喜欢

208 评论

vera911213

#include #include #include using namespace std;typedef struct student { unsigned m_id; string m_name; unsigned m_age; string m_sex; string m_address; string m_contact; string m_dormitory; struct student *m_next;}student;class CStudent {private : student *head;public : CStudent() { head = new student; head->m_id = 0; head->m_name = "noname"; head->m_next = NULL; } ~CStudent() { student *p = head,*q; while(p) { q = p; p = q->m_next; delete q; } } student readdata(int model); // model = 1:不读取学号,2:不读取姓名,其他,读取所有信息 void entering(); bool insert(const student &astu); student *findid(unsigned id) const; student *findname(const string &name) const; student *findsex(const string &sex) const; student *finddormitory(const string &dormitory) const; unsigned boys() const; unsigned girls() const; unsigned headcount() const; bool eraseid(); bool erasename(); bool modifyid(); bool modifyname(); void Show() const; void query() const; void friend statistics(const CStudent &aclss); void friend erase(CStudent &aclss); void friend modify(CStudent &aclss);};string readstring() { string str; while(cin.get() != '\n'); cin >> str; return str;}student CStudent::readdata(int model) { student tmp; if(model != 1) { cout << "学    号: "; cin >> tmp.m_id; } if(model != 2) { cout << "姓    名: "; tmp.m_name = readstring(); } cin >> tmp.m_age; cout << "性    别: "; tmp.m_sex = readstring(); cout << "住    址: "; tmp.m_address = readstring(); cout << "联系方式: "; tmp.m_contact  =readstring(); cout << "寝    室: "; tmp.m_dormitory = readstring(); return tmp;}void CStudent::entering() { student tmp; cout << "学号(0 to return): "; cin >> tmp.m_id; while(tmp.m_id) { if(findid(tmp.m_id) == NULL) { cout << "姓    名: "; tmp.m_name = readstring(); cout << "年    龄: "; cin >> tmp.m_age; cout << "性    别: "; tmp.m_sex = readstring(); cout << "住    址: "; tmp.m_address = readstring(); cout << "联系方式: "; tmp.m_contact = readstring(); cout << "寝    室: "; tmp.m_dormitory = readstring(); insert(tmp); } else cout << "重复的学号:" << tmp.m_id << endl; cout << "学号(0 to return): "; cin >> tmp.m_id; }}student *CStudent::findid(unsigned id) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_id == id) return p; return NULL;}student *CStudent::findname(const string &name) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_name == name) return p; return NULL;}student *CStudent::findsex(const string &sex) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_sex == sex) return p; return NULL;}student *CStudent::finddormitory(const string &dormitory) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_dormitory == dormitory) return p; return NULL;}bool CStudent::insert(const student &astu) { student *newnode,*p = head; if(p->m_next == NULL) { p->m_next = new student(astu); p->m_next->m_next = NULL; return true; } while(p->m_next) { if(p->m_next->m_id == astu.m_id) { cout << "重复的学号,插入失败!\n"; return false; } if(p->m_next->m_id > astu.m_id) { newnode = new student(astu); newnode->m_next = p->m_next; p->m_next = newnode; return true; } p = p->m_next; } p->m_next = new student(astu); p->m_next->m_next = NULL; return true;}unsigned  CStudent::boys() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next) if(p->m_sex == "男") ++cnt; return cnt;}unsigned CStudent::girls() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next) if(p->m_sex == "女") ++cnt; return cnt;}unsigned CStudent::headcount() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next,++cnt); return cnt;}bool CStudent::eraseid() { student *q,*p; unsigned id; cout << "输入要删除的学号:"; cin >> id; p = findid(id); if(p == NULL) { cout << "没有找到学号是\"" << id << "\"的学生,删除失败!\n"; return false; } q = p->m_next; p->m_next = q->m_next; delete q; return true;}bool CStudent::erasename() { student *q,*p; string name; cout << "输入要删除人的姓名:"; name = readstring(); p = findname(name); if(p == NULL) { cout << "没有找到姓名是\"" << name << "\"的学生,删除失败!\n"; return false; } q = p->m_next; p->m_next = q->m_next; delete q; return true;}bool CStudent::modifyid() { student tmp,*p; unsigned id; cout << "输入要修改的学号:"; cin >> id; p = findid(id); if(p == NULL) { cout << "没有找到学号是\"" << id << "\"的学生,修改失败!\n"; return false; } tmp = readdata(1); tmp.m_id = id; *p = tmp; return true;}bool CStudent::modifyname() { student *p,tmp; string name; cout << "输入要修改人的姓名:"; name = readstring(); p = findname(name); if(p == NULL) { cout << "没有找到姓名是\"" << name << "\"的学生,修改失败!\n"; return false; } tmp = readdata(2); tmp.m_name = name; *p = tmp; return true;}int menu() { int choice; do { system("cls"); cout << "\t****************************\n"; cout << "\t*   学生基本信息管理系统   *\n"; cout << "\t*==========================*\n"; cout << "\t*    1、录入学生信息       *\n"; cout << "\t*    2、显示学生信息       *\n"; cout << "\t*    3、查询学生信息       *\n"; cout << "\t*    4、添加学生信息       *\n"; cout << "\t*    5、统计学生信息       *\n"; cout << "\t*    6、删除学生信息       *\n"; cout << "\t*    7、修改学生信息       *\n"; cout << "\t*    0、退出管理系统       *\n"; cout << "\t****************************\n"; cout << "\n\t请选择:"; cin >> choice; }while(choice < 0 || choice > 7); return choice;}void show(student *p) { cout << p->m_id << " " << p->m_name << " " << p->m_age << " "; cout << p->m_sex << " " << p->m_address << " "; cout << p->m_contact << " " << p->m_dormitory << endl;}void CStudent::Show() const { student *p; cout << "----------------------------------------------------------\n"; for(p = head->m_next; p; p = p->m_next) show(p); cout << "----------------------------------------------------------\n"; system("pause");}void CStudent::query() const { int select; unsigned id; string name; student *p; cout << "1、按学号查询\n2、按姓名查询\n0、返回\n"; cin >> select; switch(select) { case 1 : cout << "请输入学号:"; cin >> id; if(p = findid(id)) show(p->m_next); break; case 2 : cout << "请输入姓名:"; name = readstring(); if(p = findname(name)) show(p->m_next); break; case 0 : return; default : cout << "选择错误。\n"; } system("pause");}void statistics(const CStudent &a) { unsigned total = a.headcount(); unsigned boys = a.boys(); unsigned girls = a.girls(); cout << "学生总数:" << total << "人。\n"; cout << "其中,男生:" << boys << "名。"; cout << "女生:" << girls << "名。\n"; system("pause");}void erase(CStudent &a) { int select; unsigned id; string name; student *p,*q; cout << "1、按学号删除\n2、按姓名删除\n0、返回\n"; cin >> select; switch(select) { case 1 : cout << "请输入学号:"; cin >> id; if(p = a.findid(id)) { q = p->m_next; p->m_next = q->m_next; delete q; cout << "成功删除 " << id << " 的信息。\n"; } break; case 2 : cout << "请输入姓名:"; name = readstring(); if(p = a.findname(name)) { q = p->m_next; p->m_next = q->m_next; delete q; cout << "成功删除 " << name << " 的信息。\n"; } break; case 0 : return; default : cout << "选择错误。\n"; } system("pause");}void modify(CStudent &a) { int select; cout << "1、按学号修改\n2、按姓名修改\n0、返回\n"; cin >> select; switch(select) { case 1 : if(a.modifyid()) cout << "修改成功。\n"; break; case 2 : if(a.modifyname()) cout << "修改成功。\n"; break; case 0 : return; default : cout << "选择错误。\n"; } system("pause");}int main() { CStudent a; int an; do { an = menu(); switch(an) { case 1 : a.entering(); break; case 2 : a.Show(); break; case 3 : a.query(); break; case 4 : a.entering(); break; case 5 : statistics(a); break; case 6 : erase(a); break; case 7 : modify(a); break; case 0 : break; default : cout << "选择错误。\n"; break; } }while(an); return 0;}

84 评论

菁菁super5man

代码如下:

#include#include#include#include#includetypedef struct examinee //考生信息结构{   char examno[20]; //准考证号char name[10]; //姓名char sex[4]; //性别short age; //年龄char examtype[10]; //报考科目}ElemType;

typedef struct Node //定义链表结点{ElemType data; //数据域struct Node *next; //指针域 }Node,*List,*position;

List make_empty( List L ); //创建一个带头结点的空表int is_empty( List L ); //测试链表是否是空表int is_last( position p, List L ); //测试当前位置是否是表尾position make_node( position p,int n ); //创建结点并输入考生信息void put_information( position p ); //是否输出该考生信息 void put_name_information( List L ); //输出姓名为xx的考生信息int put_pos_information( position p ); //输出该地址考生信息 void link_to_tail( List L, position p ); //将结点连接到表尾 int ciculation_make(); //循环创建考生信息 int judge_put_all(); //是否输出所有考生信息void put_all(List L); //输出所有考生信息。position find( List L ); //查找第一个姓名为xx的元素并返回位置position find_previous( List L ); //查找第一个姓名为xx的元素并返回该元素直接前驱的位置//int judge_delete_val(); //询问是否删除考生数据int delete_val( List L ); //删除指定考生信息并输出其信息void menu(List L); //菜单函数 List L;//position p;

intmain( void )  {List L = NULL; //定义头结点指针position p = NULL; //定义表工作指针L = make_empty( L ); //创建空表printf("\t\t\t★★考生报名管理程序★★\n\t\t----------------------------------------\n");menu(L);return 0;}

//创建一个带头结点的空表Listmake_empty( List L){L = ( List ) malloc (sizeof( Node ));if(NULL == L){printf("内存分配失败");exit( 1 );}L->next = NULL;//printf("空表创建成功。\n");return L;}

//创建结点并输入考生信息positionmake_node( position p ,int n){if(n) //n为1是创建结点并输入,n为0是修改{p = ( position ) malloc ( sizeof ( Node ));p->next = NULL ;}printf("请输入考生准考证号:");gets(p->data.examno);printf("请输入考生姓名:");gets(p->data.name);do{printf("请输入考生性别,只能输入“男”或者“女”:");gets(p->data.sex);}while( 0 != strcmp( p->data.sex, "男" ) && 0 != strcmp( p->data.sex, "女" )); //判断性别是否有误printf("请输入考生年龄:");scanf("%hd",&p->data.age);getchar();  //如果把这句删掉,就“无法执行”下面的报考类别/*下面的do while用来判断报考类别是否输入有误*/do{printf("请输入报考类别,只能输入“数学”或“英语”或者“数据结构”:");gets(p->data.examtype);}while( 0 != strcmp( "英语", p->data.examtype ) && 0 != strcmp( "数学", p->data.examtype ) && 0 != strcmp( "数据结构", p->data.examtype ));if(n){printf("报名成功\n");}else{printf("修改成功\n");}return p;}

//前插法; voidlink_to_tail( List L, position p){p->next = L->next;L->next = p;}

//查找第一个姓名为xx的元素并返回位置positionfind( List L ){position p = L->next;char name[10];printf("请输入你要查找的考生姓名:");gets(name);while( p != NULL && 0 != strcmp( p->data.name , name)){p=p->next;}return p;}//测试链表是否是空表intis_empty( List L ){return L->next == NULL;}//测试当前位置是否是表尾intis_last( position p, List L ){return p->next == NULL;}//输出姓名为xx的考生信息voidput_name_information( List L ){position p = find(L);if(p!=NULL){printf("您要查找的考生信息:\n");printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);}else{printf("没有您要找的学生。\n");}}//循环创建考生信息 intciculation_make(){int n = 2;do{printf("是否继续创建考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}

//是否输出考生信息 voidput_information( position p ){int n=2;do{printf("是否输出该考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);if(n){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);}}

//是否输出所有考生信息 int judge_put_all(){int n = 2;do{printf("是否输出所有考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}

//输出所有考生信息voidput_all(List L){if(L->next == NULL){printf("现无考生报名!\n");}else{position p=L->next;while( p != NULL ){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);p=p->next;}}//getchar();}

//询问是否删除考生数据intjudge_delete_val(){int n = 2;

do{printf("是否要删除某个考生数据?是请输入“1”,不是输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}

//查找第一个姓名为xx的元素并返回其直接前驱的位置positionfind_previous( List L ){position q = L;position p = L->next;char name[10];printf("请输入你要查找的考生姓名:");gets(name);while( p != NULL && 0 != strcmp( p->data.name , name)){q=p;p=p->next;}if( p != NULL ){return q;}elsereturn p;}

//删除指定考生信息并输出其信息intdelete_val(List L){int n=2;position q=NULL;position p=find_previous( L ); //返回考生信息地址if( NULL == p ){printf("你要删除的考生不存在\n");return 0;}else{q = p->next;p->next = q->next;printf("删除成功。\n删除的考生信息为:\n");printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",q->data.examno,q->data.name,q->data.sex,q->data.age,q->data.examtype);free(q);return 1;}

}

//输出该地址考试信息 intput_pos_information( position p ){if(p != NULL ){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);return 1;}else{printf("没有您要查找的学生。");return 0;}} //菜单函数voidmenu(List L){printf("\t\t\t   a. 考生报名入口\n");printf("\t\t\t   b. 查询考生信息\n");printf("\t\t\t   c. 修改考生信息\n");printf("\t\t\t   d. 删除考生信息\n");printf("\t\t\t   e. 全部考生信息\n");printf("\t\t\t   f. 程序作者信息\n");printf("\t\t\t   g.   退出程序\n");char n='h';while(n != 'g'){do  //确定正确输入{printf("请通过字母序号选择功能:");n = getchar();getchar();putchar('\n');if( n < 'a' || n > 'g'){printf("错误的字母序号。\n");}}while( n < 'a' || n > 'g' );switch (n){case 'a':{printf("请输入报名考生信息:\n");position p = make_node( p, 1 ); //创建新结点link_to_tail( L, p ); //将新结点连接到表上put_information( p );   //是否输出该考生信息putchar('\n');}break;

case 'b':{put_name_information( L );putchar('\n');}break;

case 'c':{int n=0;position p = NULL;printf("您正在进行修改操作。\n");p = find(L);n = put_pos_information( p );if(n){make_node( p , 0 );put_information( p );   //是否输出该考生信息}putchar('\n');}break;

case 'd':{printf("您正在进行删除操作。\n");delete_val( L );putchar('\n');}break;

case 'e':{put_all( L );putchar('\n');}break;

case 'f':{printf("              修改日期    版本号      修改人      修改内容    \n");printf("        --------------------------------------------------------\n");printf("              2018.6.19    v2.0       陈百川     增加主菜单\n");printf("              2018.6.23    v3.0       陈百川   增加生成文件功能\n\n");printf("            该版本号为v2.0\n");putchar('\n');}break;

default:break;}}printf("                     感谢本次使用,祝您生活愉快。");getch(); }

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

百度百科——C语言

88 评论

卢卡与凯丽

/*引用库函数*/#include #include#include/*定义结构体数组*/typedef struct {char num[12]; /*学号*/char name[20]; /*姓名*/char sex[2]; /*性别*/int score[3]; /*成绩*/float avg; /*平均分*/int sum; /*总成绩*/}Student;Student studentAll[80]; /*结构体数组*/int student_number = 0; /*总人数*//*菜单函数*/int menu_select() {int check_number;do{system("cls"); /*运行前清屏clear screen,在stdlib.h中*/printf("\t★☆☆☆☆☆☆学生成绩管理系统☆☆☆☆☆☆★\n"); /*菜单选择*/printf("\t★| 1. 添加学生信息 |★\n");printf("\t★| 2. 显示学生信息 |★\n");printf("\t★| 3. 按学号排序 |★\n");printf("\t★| 4. 按总成绩排序 |★\n");printf("\t★| 5. 查找单个学生 |★\n");printf("\t★| 6. 删除指定学生 |★\n");printf("\t★| 7. 修改学生信息 |★\n");printf("\t★| 8. 查看各门课程的成绩情况 |★\n");printf("\t★| 9. 待定功能 |★\n");printf("\t★| 0. 保存退出 |★\n");printf("\t★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★\n");printf("请输入选择(0-9):");scanf("%d",&check_number); /*读入选择*/}while(check_number<0||check_number>9);return(check_number); /*返回选择*/}//以下的student都是形式参数,真正的数组是在全局变量里定义的studentAll数组/*输入若干条记录*/void Input(Student student[]){int i=0,j;char flag,clear[10]; /*clear[10]为清除多余的数据所用*/char studentNum[12]; //暂存某学生学号//判断是否已经存在相同学生的学号while(flag!='n'&&flag!='N') //判断flag是不是n/N,以此判断是否继续输入学生信息{printf("请输入学生学号: ");scanf("%s",studentNum);while(strcmp(student[i].num,studentNum)!=0&&i0){student_sort=student[j];student[j]=student[j+1];student[j+1]=student_sort;}}}}/*按总成绩排序*/void Sort_by_sum(Student student[]) {Student student_sort;int i,j;for(i=0;istudent[j+1].sum){student_sort=student[j];student[j]=student[j+1];student[j+1]=student_sort;}}}}/*按姓名查找并显示一个记录*/void Query_a_record(Student student[]) {int i,j;char findname[20]; //输入学生的姓名scanf("%s",findname);for(j=0;j

323 评论

相关问答

  • 信息管理与信息系统的毕业论文

    七七计算机论文网

    甜心小葡萄499 6人参与回答 2023-12-11
  • 学生考勤信息管理系统论文

    目 录 绪 论 2第1章 学生管理系统的系统调查 31.1现状调查 31.2、学生信息管理工作调查 31.3、现行系统存在的主要问题 31.4、系统目标

    美食侦探01 5人参与回答 2023-12-11
  • 信息管理系统论文源码

    我帮你寻找了一个下午的毕业论文设计与实现,我也知道太多假的了,现在我网盘给你了 记得采纳哦1-CRM客户关系管理系统-ssh2-户籍管理系统-jsp3-Java

    lula不是luna 7人参与回答 2023-12-11
  • 现代信息管理系统论文

    计算机网络信息管理引起人们的高度的重视和注意,因为它保证整个计算机网络系统的安全性,我整理了计算机信息管理论文范文,欢迎阅读! 浅谈计算机信息与管理 摘要:计算

    橙橙小狐狸 2人参与回答 2023-12-11
  • 学生信息管理系统论文

    学籍管理是高等院校学生管理事务中的一项重要工作,在管理过程中涉及大量的数据处理,它的内容对于学校的决策者和管理者来说都至关重要。下面是我为大家推荐的学生学籍管理

    80年代之后 5人参与回答 2023-12-08