亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言版學生信息管理系統(tǒng)

 更新時間:2020年12月22日 15:07:57   作者:喜歡薄荷味  
這篇文章主要為大家詳細介紹了C語言版學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言版學生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一.題目分析

1.功能概述

1)查詢學生信息
2)添加學生信息
3)修改學生信息
4)刪除學生信息
5)刷新學生信息
6)保存學生信息
7)輸出當前學生信息

2.題目要求:

1)使用結(jié)構(gòu)體建立學生信息體制
2)實現(xiàn)七大基本功能
3)采用文件存儲學生信息

二.算法構(gòu)造

1.難點解析----對文件的操作

1.1文件讀取

FILE * fp;
 if ((fp = fopen(filename, "r")) == NULL) return 0;
 //從文件讀取信息 
 while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
 j++;
 }

1.2文件寫入

FILE * fp;
fp = fopen(filename, "w");
 for (i = 0; i < n; i++){
 fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
 stu[i].score[0], stu[i].score[1], stu[i].score[2]);
 }

2.流程圖

3.七大基本功能----函數(shù)實現(xiàn)

3.1菜單函數(shù):通過菜單建立用戶與程序之間的交流

void menu()/* 界面*/
{
 int num;
 printf(" \n\n  \n\n");
 printf(" ******************************************************\n\n");
 printf(" * 學生信息管理系統(tǒng)  *\n \n");
 printf(" ******************************************************\n\n");
 printf("*********************系統(tǒng)功能菜單************************* \n");
 printf(" ---------------------- ---------------------- \n");
 printf(" ********************************************* \n");
 printf(" * 0.系統(tǒng)幫助及說明 * * 1.刷新學生信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 2.查詢學生信息 * * 3.修改學生信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 4.增加學生信息 * * 5.按學號刪除信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 6.顯示當前信息 * * 7.保存當前學生信息* \n");
 printf(" ********************** ********************** \n");
 printf(" * 8.退出系統(tǒng) *  \n");
 printf(" **********************  \n");
 printf(" ---------------------- ----------------------  \n");
 printf("請選擇菜單編號:");
 scanf("%d", &num);
 switch (num)
 {
 case 0:help(); break;
 case 1:flush(); break;
 case 2:seek(); break;
 case 3:modify(); break;
 case 4:insert(); break;
 case 5:del(); break;
 case 6:display(); break;
 case 7:save(); break;
 case 8:
 k = 0; 
 printf("即將退出程序!\n");
 break;
 default:printf("請在0-8之間選擇\n");
 }
}

3.2系統(tǒng)幫助與說明函數(shù):適用于初次接觸學生信息管理系統(tǒng)的用戶參考

void help()
{
 printf("\n0.歡迎使用系統(tǒng)幫助!\n");
 printf("\n1.初次進入系統(tǒng)后,請先選擇增加學生信息;\n");
 printf("\n2.按照菜單提示鍵入數(shù)字代號;\n");
 printf("\n3.增加學生信息后,切記保存;\n");
 printf("\n4.謝謝您的使用!\n");
}

3.3刷新學生信息函數(shù)

功能:調(diào)用刷新信息函數(shù)后,文件中再無學生信息

int flush(){
 char filename[LEN + 1];
 int i = 0;
 printf("請輸入要刷新學生信息的文件名:\n");
 scanf("%s", filename);
 int j = 0;
 FILE * fp;
 if ((fp = fopen(filename, "r")) == NULL) return 0;
 //從文件讀取信息 
 while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
 j++;
 }
 n = j;
 printf("刷新成功!!!");
 return n;
}

3.4查詢學生信息函數(shù)

功能:通過輸入要查詢的學生學號或者姓名,與系統(tǒng)中的學生信息進行對比,若相等,則輸出該學生的基本信息;反之,則輸出該學生在該管理系統(tǒng)中不存在

查詢方式:

1)按照學號查詢
2)按照姓名查詢

void seek() /*查找*/
{
 int i, item, flag;
 char s1[21]; /* 以姓名和學號最長長度+1為準*/
 printf("------------------\n");
 printf("-----1.按學號查詢-----\n");
 printf("-----2.按姓名查詢-----\n");
 printf("-----3.退出本菜單-----\n");
 printf("------------------\n");
 while (1)
 {
 printf("請選擇子菜單編號:");
 scanf("%d", &item);
 flag = 0;
 switch (item)
 {
 case 1:
 printf("請輸入要查詢的學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i<n; i++)
 if (strcmp(s1,stu[i].StudentId) == 0)
 {
 flag = 1;
 printf("學生學號\t學生姓名\t年齡\t性別\tC語言成績\t高等數(shù)學\t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].StudentAge,stu[i].StudentSex,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
 }
 if (0 == flag)
 printf("該學號不存在!\n"); break;
 case 2:
 printf("請輸入要查詢的學生的姓名:\n");
 scanf("%s", s1);
 for (i = 0; i<n; i++)
 if (strcmp(stu[i].StudentName, s1) == 0)
 {
 flag = 1;
 printf("學生學號\t學生姓名\t年齡\t性別\tC語言成績\t高等數(shù)學\t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 printf("%s\t%s\t%d\t%c\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
 }
 if (0 == flag)
 printf("該姓名不存在!\n"); break;
 case 3:return;
 default:printf("請在1-3之間選擇\n");
 }
 }
}

3.5修改學生信息

功能:通過輸入學號來選擇要修改的該學號學生的信息內(nèi)容,從而完成修改信息操作;

//修改學生信息
void modify() /*修改信息*/
{
 int i, item, num = -1;
 char sex1, s1[LEN + 1], s2[LEN + 1]; /* 以姓名和學號最長長度+1為準*/
 float score1;
 printf("請輸入要要修改的學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i < n; i++){
 if (strcmp(stu[i].StudentId, s1) == 0){/*比較字符串是否相等*/
 num = i;
 printf("------------------\n");
 printf("1.修改姓名\n");
 printf("2.修改年齡\n");
 printf("3.修改性別\n");
 printf("4.修改C語言成績\n");
 printf("5.修改高等數(shù)學成績\n");
 printf("6.修改大學英語成績\n");
 printf("7.退出本菜單\n");
 printf("------------------\n");
 while (1)
 {
 printf("請選擇子菜單編號:");
 scanf("%d", &item);
 switch (item)
 {
 case 1:
 printf("請輸入新的姓名:\n");
 scanf("%s", s2);
 strcpy(stu[num].StudentName, s2);
 break;
 case 2:
 printf("請輸入新的年齡:\n");
 scanf("%d", stu[num].StudentAge);
 break;
 case 3:
 printf("請輸入新的性別:\n");
 scanf("%s", &sex1);
 stu[i].StudentSex = sex1;
 break;
 case 4:
 printf("請輸入新的C語言成績:\n");
 scanf("%f", &score1);
 stu[num].score[0] = score1;
 break;
 case 5:
 printf("請輸入新的高等數(shù)學成績:\n");
 scanf("%f", &score1);
 stu[num].score[1] = score1;
 break;
 case 6:
 printf("請輸入新的大學英語成績:\n");
 scanf("%f", &score1);
 stu[num].score[2] = score1;
 break;
 case 7: return;
 default:printf("請在1-7之間選擇\n");
 }
 }
 printf("修改完畢!請及時保存!\n");
 }
 else{
 printf("沒有該學生學號!!!");
 }
 }
}

3.6添加學生信息函數(shù)

功能:添加學生信息,并保存至文件中

//添加學生信息函數(shù)
void insert() /*插入函數(shù)*/
{
 int i = n, j, flag;
 printf("請輸入待增加的學生數(shù):\n");
 scanf("%d", &m);
 if (m > 0){
 do
 {
 flag = 1;
 while (flag)
 {
 flag = 0;
 printf("請輸入第%d位學生的學號:\n", i + 1);
 scanf("%s", stu[i].StudentId);
 for (j = 0; j < i; j++){
 if (strcmp(stu[i].StudentId, stu[j].StudentId) == 0){
 printf("該學號已存在,請重新輸入!\n");
 flag = 1;
 break;
 }
 }
 }
 printf("請輸入第%d 個學生的姓名:\n", i+1);
 scanf("%s", stu[i].StudentName);
 printf("請輸入第%d 個學生的年齡:\n", i+1);
 scanf("%d", &stu[i].StudentAge);
 printf("請輸入第%d 個學生的性別:\n", i+1);
 scanf(" %c", &stu[i].StudentSex);
 printf("請輸入第%d 個學生的C語言成績\n",i+1);
 scanf("%f", &stu[i].score[0]);
 printf("請輸入第%d 個學生的高等數(shù)學成績:\n", i+1);
 scanf("%f", &stu[i].score[1]);
 printf("請輸入第%d 個學生的大學英語成績:\n", i+1);
 scanf("%f", &stu[i].score[2]);
 if (0 == flag){
 i++;
 }
 } while (i<n + m);
 }
 n += m;
 printf("學生信息增加完畢!?。n");
 system("pause");
}

3.7刪除學生信息函數(shù)

功能:通過輸入要刪除學生信息的學號,刪除該學生在該管理系統(tǒng)中的所有信息;

//刪除學生信息函數(shù)
void del()
{
 int i, j, flag = 0;
 char s1[LEN + 1];
 printf("請輸入要刪除學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i < n; i++){
 if (strcpy(stu[i].StudentId, s1) == 0){
 flag = 1;
 //要刪除學生后面的學生往前移一位
 for (j = i; j < n - 1; j++){
 stu[j] = stu[j + 1];
 }
 }
 }
 //查找失敗
 if (0 == flag){
 printf("該學號不存在!!!\n");
 }
 if (1 == flag){
 printf("刪除成功!??!");
 //刪除成功,學生人數(shù)減1
 n--;
 }
 system("pause");
}

3.8顯示當前學生信息

功能:可以輸出進行多種操作后的學生信息管理系統(tǒng)中的所有學生信息;

//顯示全部數(shù)據(jù)信息
void display()
{
 int i;
 printf("共有%d位學生的信息:\n", n);
 if (0 != n)
 {
 printf("學生學號 \t學生姓名 \t年齡 \t性別 \tC語言成績\t高等數(shù)學 \t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 for (i = 0; i<n; i++)
 {
 printf("%s \t%s \t%d \t%c \t%.1f\t%.1f \t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0],stu[i].score[1],stu[i].score[2]);
 }
 }
 system("pause");
}

3.8保存學生信息

功能:將進行某些操作后的學生信息保存到指定文件中

void save(){
 int i;
 FILE *fp;
 char filename[LEN + 1];
 printf("請輸入要保存的文件名:\n");
 scanf("%s", filename);
 fp = fopen(filename, "w");
 for (i = 0; i < n; i++){
 fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
 stu[i].score[0], stu[i].score[1], stu[i].score[2]);
 }
 printf("保存成功?。。n");
 fclose(fp);
 system("pause");
}

三.源程序代碼

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h> /*I/O函數(shù)*/
#include<stdlib.h> /*其它說明*/
#include<string.h> /*字符串函數(shù)*/

#define LEN 15 /* 學號和姓名最大字符數(shù),實際請更改*/
#define N 50 /* 最大學生人數(shù),實際請更改*/

int k = 1, n = 0, m = 0;/* n代表當前記錄的學生人數(shù)*/

//函數(shù)聲明
void readfile();
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();

//結(jié)構(gòu)體保存學生信息
struct student{
 char StudentId[LEN+1];
 char StudentName[LEN+1];
 int StudentAge;
 char StudentSex;
 float score[3];
}stu[N];

//主函數(shù)
int main()
{
 while (k)
 {
 menu();
 }
 system("pause");
 return 0;
}

//系統(tǒng)幫助函數(shù)
void help()
{
 printf("\n0.歡迎使用系統(tǒng)幫助!\n");
 printf("\n1.初次進入系統(tǒng)后,請先選擇增加學生信息;\n");
 printf("\n2.按照菜單提示鍵入數(shù)字代號;\n");
 printf("\n3.增加學生信息后,切記保存;\n");
 printf("\n4.謝謝您的使用!\n");
}

//刷新文件
int flush(){
 char filename[LEN + 1];
 int i = 0;
 printf("請輸入要刷新學生信息的文件名:\n");
 scanf("%s", filename);
 int j = 0;
 FILE * fp;
 if ((fp = fopen(filename, "r")) == NULL) return 0;
 //從文件讀取信息 
 while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {
 j++;
 }
 n = j;
 printf("刷新成功!!!");
 return n;
}

//查找學生信息
void seek() /*查找*/
{
 int i, item, flag;
 char s1[21]; /* 以姓名和學號最長長度+1為準*/
 printf("------------------\n");
 printf("-----1.按學號查詢-----\n");
 printf("-----2.按姓名查詢-----\n");
 printf("-----3.退出本菜單-----\n");
 printf("------------------\n");
 while (1)
 {
 printf("請選擇子菜單編號:");
 scanf("%d", &item);
 flag = 0;
 switch (item)
 {
 case 1:
 printf("請輸入要查詢的學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i<n; i++)
 if (strcmp(s1,stu[i].StudentId) == 0)
 {
 flag = 1;
 printf("學生學號\t學生姓名\t年齡\t性別\tC語言成績\t高等數(shù)學\t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].StudentAge,stu[i].StudentSex,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
 }
 if (0 == flag)
 printf("該學號不存在!\n"); break;
 case 2:
 printf("請輸入要查詢的學生的姓名:\n");
 scanf("%s", s1);
 for (i = 0; i<n; i++)
 if (strcmp(stu[i].StudentName, s1) == 0)
 {
 flag = 1;
 printf("學生學號\t學生姓名\t年齡\t性別\tC語言成績\t高等數(shù)學\t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 printf("%s\t%s\t%d\t%c\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
 }
 if (0 == flag)
 printf("該姓名不存在!\n"); break;
 case 3:return;
 default:printf("請在1-3之間選擇\n");
 }
 }
}

//修改學生信息
void modify() /*修改信息*/
{
 int i, item, num = -1;
 char sex1, s1[LEN + 1], s2[LEN + 1]; /* 以姓名和學號最長長度+1為準*/
 float score1;
 printf("請輸入要要修改的學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i < n; i++){
 if (strcmp(stu[i].StudentId, s1) == 0){/*比較字符串是否相等*/
 num = i;
 printf("------------------\n");
 printf("1.修改姓名\n");
 printf("2.修改年齡\n");
 printf("3.修改性別\n");
 printf("4.修改C語言成績\n");
 printf("5.修改高等數(shù)學成績\n");
 printf("6.修改大學英語成績\n");
 printf("7.退出本菜單\n");
 printf("------------------\n");
 while (1)
 {
 printf("請選擇子菜單編號:");
 scanf("%d", &item);
 switch (item)
 {
 case 1:
 printf("請輸入新的姓名:\n");
 scanf("%s", s2);
 strcpy(stu[num].StudentName, s2);
 break;
 case 2:
 printf("請輸入新的年齡:\n");
 scanf("%d", stu[num].StudentAge);
 break;
 case 3:
 printf("請輸入新的性別:\n");
 scanf("%s", &sex1);
 stu[i].StudentSex = sex1;
 break;
 case 4:
 printf("請輸入新的C語言成績:\n");
 scanf("%f", &score1);
 stu[num].score[0] = score1;
 break;
 case 5:
 printf("請輸入新的高等數(shù)學成績:\n");
 scanf("%f", &score1);
 stu[num].score[1] = score1;
 break;
 case 6:
 printf("請輸入新的大學英語成績:\n");
 scanf("%f", &score1);
 stu[num].score[2] = score1;
 break;
 case 7: return;
 default:printf("請在1-7之間選擇\n");
 }
 }
 printf("修改完畢!請及時保存!\n");
 }
 else{
 printf("沒有該學生學號!!!");
 }
 }
}

void sort()//按學號排序
{
 int i, j, k, *p, *q, s;
 char temp[LEN + 1], ctemp;
 float ftemp;
 for (i = 0; i<n - 1; i++)
 {
 for (j = n - 1; j>i; j--)
 if (strcmp(stu[j - 1].StudentId, stu[j].StudentId)>0)
 {
 strcpy(temp, stu[j - 1].StudentId);
 strcpy(stu[j - 1].StudentId, stu[j].StudentId);
 strcpy(stu[j].StudentId, temp);
 strcpy(temp, stu[j - 1].StudentName);
 strcpy(stu[j - 1].StudentName, stu[j].StudentName);
 strcpy(stu[j].StudentName, temp);
 ctemp = stu[j - 1].StudentSex;
 stu[j - 1].StudentSex = stu[j].StudentSex;
 stu[j].StudentSex = ctemp;
 p = &stu[j - 1].StudentAge;
 q = &stu[j].StudentAge;
 s = *q;
 *q = *p;
 *p = s;
 for (k = 0; k<3; k++)
 {
 ftemp = stu[j - 1].score[k];
 stu[j - 1].score[k] = stu[j].score[k];
 stu[j].score[k] = ftemp;
 }
 }
 }
}

//添加學生信息函數(shù)
void insert() /*插入函數(shù)*/
{
 int i = n, j, flag;
 printf("請輸入待增加的學生數(shù):\n");
 scanf("%d", &m);
 if (m > 0){
 do
 {
 flag = 1;
 while (flag)
 {
 flag = 0;
 printf("請輸入第%d位學生的學號:\n", i + 1);
 scanf("%s", stu[i].StudentId);
 for (j = 0; j < i; j++){
 if (strcmp(stu[i].StudentId, stu[j].StudentId) == 0){
 printf("該學號已存在,請重新輸入!\n");
 flag = 1;
 break;
 }
 }
 }
 printf("請輸入第%d 個學生的姓名:\n", i+1);
 scanf("%s", stu[i].StudentName);
 printf("請輸入第%d 個學生的年齡:\n", i+1);
 scanf("%d", &stu[i].StudentAge);
 printf("請輸入第%d 個學生的性別:\n", i+1);
 scanf(" %c", &stu[i].StudentSex);
 printf("請輸入第%d 個學生的C語言成績\n",i+1);
 scanf("%f", &stu[i].score[0]);
 printf("請輸入第%d 個學生的高等數(shù)學成績:\n", i+1);
 scanf("%f", &stu[i].score[1]);
 printf("請輸入第%d 個學生的大學英語成績:\n", i+1);
 scanf("%f", &stu[i].score[2]);
 if (0 == flag){
 i++;
 }
 } while (i<n + m);
 }
 n += m;
 printf("學生信息增加完畢?。?!\n");
 system("pause");
}

//刪除學生信息函數(shù)
void del()
{
 int i, j, flag = 0;
 char s1[LEN + 1];
 printf("請輸入要刪除學生的學號:\n");
 scanf("%s", s1);
 for (i = 0; i < n; i++){
 if (strcpy(stu[i].StudentId, s1) == 0){
 flag = 1;
 //要刪除學生后面的學生往前移一位
 for (j = i; j < n - 1; j++){
 stu[j] = stu[j + 1];
 }
 }
 }
 //查找失敗
 if (0 == flag){
 printf("該學號不存在!!!\n");
 }
 if (1 == flag){
 printf("刪除成功!?。?);
 //刪除成功,學生人數(shù)減1
 n--;
 }
 system("pause");
}

//顯示全部數(shù)據(jù)信息
void display()
{
 int i;
 printf("共有%d位學生的信息:\n", n);
 if (0 != n)
 {
 printf("學生學號 \t學生姓名 \t年齡 \t性別 \tC語言成績\t高等數(shù)學 \t大學英語成績\n");
 printf("--------------------------------------------------------------------\n");
 for (i = 0; i<n; i++)
 {
 printf("%s \t%s \t%d \t%c \t%.1f\t%.1f \t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0],stu[i].score[1],stu[i].score[2]);
 }
 }
 system("pause");
}

void save(){
 int i;
 FILE *fp;
 char filename[LEN + 1];
 printf("請輸入要保存的文件名:\n");
 scanf("%s", filename);
 fp = fopen(filename, "w");
 for (i = 0; i < n; i++){
 fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,
 stu[i].score[0], stu[i].score[1], stu[i].score[2]);
 }
 printf("保存成功!??!\n");
 fclose(fp);
 system("pause");
}

void menu()/* 界面*/
{
 int num;
 printf(" \n\n  \n\n");
 printf(" ******************************************************\n\n");
 printf(" * 學生信息管理系統(tǒng)  *\n \n");
 printf(" ******************************************************\n\n");
 printf("*********************系統(tǒng)功能菜單************************* \n");
 printf(" ---------------------- ---------------------- \n");
 printf(" ********************************************* \n");
 printf(" * 0.系統(tǒng)幫助及說明 * * 1.刷新學生信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 2.查詢學生信息 * * 3.修改學生信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 4.增加學生信息 * * 5.按學號刪除信息 * \n");
 printf(" ********************************************* \n");
 printf(" * 6.顯示當前信息 * * 7.保存當前學生信息* \n");
 printf(" ********************** ********************** \n");
 printf(" * 8.退出系統(tǒng) *  \n");
 printf(" **********************  \n");
 printf(" ---------------------- ----------------------  \n");
 printf("請選擇菜單編號:");
 scanf("%d", &num);
 switch (num)
 {
 case 0:help(); break;
 case 1:flush(); break;
 case 2:seek(); break;
 case 3:modify(); break;
 case 4:insert(); break;
 case 5:del(); break;
 case 6:display(); break;
 case 7:save(); break;
 case 8:
 k = 0; 
 printf("即將退出程序!\n");
 break;
 default:printf("請在0-8之間選擇\n");
 }
}

四.調(diào)試、測試以及實驗結(jié)果

1.調(diào)試:

2.測試:

輸入數(shù)據(jù)類型與定義時不符合,程序運行過程中會出現(xiàn)錯誤

3.實驗結(jié)果:

(1)~(9)是一個連續(xù)的運行實驗結(jié)果

(1)運行菜單

(2)添加學生信息

(3)保存學生信息

(4)顯示全部信息

(5)修改學生信息

(6)顯示修改后全部信息

(7)刷新學生信息

(8)保存學生信息

(9)顯示刷新后的全部信息

五、總結(jié)

編寫一個功能齊全的、方便用戶操作的學生管理系統(tǒng),需要長期的實踐與積累。
實踐時檢驗的好辦法,學到的知識經(jīng)過實踐的檢驗,才能更好的被自身吸收。文件的操作的程序編寫應(yīng)用對我來說,是一個沒有經(jīng)過多次實踐的問題,所以我在寫這部分程序時,還是有些難度。該程序中還存在一個問題就是,當輸入一個與定義時不符的數(shù)據(jù),程序在運行過程中會出現(xiàn)錯誤,修改辦法還在思考,歡迎大家來與我互相共勉。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言職工信息管理系統(tǒng)源碼

    C語言職工信息管理系統(tǒng)源碼

    這篇文章主要為大家詳細介紹了C語言職工信息管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++實現(xiàn)車票管理系統(tǒng)

    C++實現(xiàn)車票管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)車票管理系統(tǒng),連接數(shù)據(jù)庫MySQL,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 如何利用最簡單的C語言實現(xiàn)AI五子棋

    如何利用最簡單的C語言實現(xiàn)AI五子棋

    這篇文章主要給大家介紹了關(guān)于如何利用最簡單的C語言實現(xiàn)AI五子棋的相關(guān)資料,包含了一些五子棋常見的功能,文中也通過詳細的實例代碼和圖片介紹的非常詳細,需要的朋友可以參考下
    2021-07-07
  • C++字符數(shù)組、字符數(shù)組指針和string類

    C++字符數(shù)組、字符數(shù)組指針和string類

    這篇文章主要介紹了C++字符數(shù)組、字符數(shù)組指針和string類,string是一個類而不是基本數(shù)據(jù)類型,數(shù)組不含有處理函數(shù),下面更多詳細內(nèi)容,需要的小伙伴可以參考下面文章
    2022-03-03
  • 深入解讀C語言中的符號常量EOF

    深入解讀C語言中的符號常量EOF

    這篇文章主要介紹了C語言中的符號常量EOF,文中還介紹了EOF的驗證和打印方法,需要的朋友可以參考下
    2015-11-11
  • C++中的pair使用詳解

    C++中的pair使用詳解

    pair是定義在<utility>中的生成特定類型的模板,它的作用是把一組數(shù)據(jù)合并為一體,實際上是一個擁有兩個成員變量的struct,這篇文章主要介紹了c++的pair使用,需要的朋友可以參考下
    2022-09-09
  • Qt開發(fā)實現(xiàn)跨窗口信號槽通信

    Qt開發(fā)實現(xiàn)跨窗口信號槽通信

    這篇文章主要為大家詳細介紹了Qt開發(fā)實現(xiàn)跨窗口信號槽通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言基于EasyX實現(xiàn)貪吃蛇

    C語言基于EasyX實現(xiàn)貪吃蛇

    這篇文章主要為大家詳細介紹了C語言基于EasyX實現(xiàn)貪吃蛇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++驗證LeetCode包圍區(qū)域的DFS方法

    C++驗證LeetCode包圍區(qū)域的DFS方法

    這篇文章主要介紹了C++驗證LeetCode包圍區(qū)域的DFS方法,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • CreateCompatibleDC()函數(shù)案例詳解

    CreateCompatibleDC()函數(shù)案例詳解

    這篇文章主要介紹了CreateCompatibleDC()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論