校级运动会管理系统c语言程序5篇

时间:2019-05-13 02:51:17下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《校级运动会管理系统c语言程序》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《校级运动会管理系统c语言程序》。

第一篇:校级运动会管理系统c语言程序

#include #include #include #include

#define SIZE 9 #define N

#define WM

void bsxm();

//比赛项目 void csxx();

//参赛学校 void ttzf();

//团体总分 void Information();void main();void menu();void printf_back();void saveathlete();void saveprogram();void saveschool();void savescore();void Search();

int i;FILE *fp1,*fp2,*fp3,*fp4;

struct athlete

//定义运动员信息 { char univ[5];char name[8];char prog[15];

char mingci[5];int score;} at[SIZE];

struct xuexiao

//定义学校信息 { char univ[5];char prog[15];int num_athlete;} xx[N];

struct program { char prog[5];int quming;

char ath1[5];char ath2[5];char univ1[5];char univ2[5];} pro[WM];

//定义项目信息

struct zongfen

//定义学校得分信息 { char univ[5];char prog1[5];char prog2[5];char prog3[5];int score1;int score2;int score3;int total_score;} zf[N];

void Information()//进入信息录入系统选择系统子函数 {

int n,w;

do

{

puts(“nnn”);

puts(“tt***^__^

Welcome to load 信息录入 system!

^__^***n”);

puts(“tt*************************MENU*************************n”);

puts(“tt******** 1.saveathlete

**************n”);//运动员姓名录入

puts(“tt******** 2.saveschool

**************n”);//运动员学校录入

puts(“tt******** 3.saveprogram()

**************n”);//参加项目录入

puts(“tt******** 4.back

**************n”);//退出

puts(“tt******************************************************n”);

printf(“Choic your number(1-4):[ ]bb”);

scanf(“%d”,&n);

if(n<1||n>4)

{

w=1;

printf(“nntt----------------------DATAERROR!----------------------nnn”);

getchar();

}

else w=0;

}

while(w==1);

switch(n)

{

case 1 : saveathlete();break;// 保存运动员信息子函数

case 2 : saveschool();break;//保存学校信息子函数

case 3 : saveprogram();break;//保存项目比赛信息子函数

case 4 : exit(0);

} }

void saveathlete(){ //保存运动员信息子函数

printf(“n请输入各项目获奖运动员的信息:”);

for(i=0;i

printf(“n请输入第%d个运动员的信息:n”,i+1);

printf(“姓名:”);

scanf(“%s”,at[i].name);

printf(“学校:”);

scanf(“%s”,at[i].univ);

printf(“参赛项目:”);

scanf(“%s”,at[i].prog);printf(“名次:”);scanf(“%s”,at[i].mingci);

printf(“得分:”);

scanf(“%d”,&at[i].score);

} fp1=fopen(“ath”,“w”);

for(i=0;i

printf(“File write error!n”);}

fclose(fp1);fp1=fopen(“ath”,“r”);

printf(“n现在各运动员的信息如下:nn”);

printf(“姓名

学校

项目

名次

得分n”);for(i=0;i

fread(&at[i],sizeof(struct athlete),1,fp1);

printf(“%-10s%-10s%-18s%-10s%dn”,at[i].name,at[i].univ,at[i].prog,at[i].mingci,at[i].score);} fclose(fp1);printf_back();}

void saveschool()//保存学校信息子函数 { printf(“n请输入各参赛学校的信息:”);

for(i=0;i

printf(“n请输入第%d个学校的信息:n”,i+1);

printf(“学校:”);

scanf(“%s”,xx[i].univ);

printf(“参赛的项目:”);

scanf(“%s”,xx[i].prog);

printf(“参赛者数:”);

scanf(“%d”,&xx[i].num_athlete);}

fp3=fopen(“xxiao”,“w”);for(i=0;i

if(fwrite(&xx[i],sizeof(struct xuexiao),1,fp3)!=1)

printf(“File write error!n”);} fclose(fp3);

printf_back();}

void saveprogram()//保存项目比赛信息子函数 { printf(“n请输入关于比赛项目的信息:”);

for(i=0;i

printf(“n请输入第%d项比赛的信息:n”,i+1);printf(“项目:”);scanf(“%s”,pro[i].prog);printf(“取分情况:”);scanf(“%d”,&pro[i].quming);printf(“参赛者1:”);scanf(“%s”,pro[i].ath1);printf(“所属学校:”);scanf(“%s”,pro[i].univ1);printf(“参赛者2:”);scanf(“%s”,pro[i].ath2);

printf(“所属学校:”);

scanf(“%s”,pro[i].univ2);}

fp4=fopen(“pr”,“w”);for(i=0;i

if(fwrite(&pro[i],sizeof(struct program),1,fp4)!=1)

printf(“File write error!n”);} fclose(fp4);

printf_back();}

void savescore()//保存学校得分情况子函数 { printf(“N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数。n”);printf(“W.100-女子一百米比赛,M.100-男子一百米,M.200-男子两百米。n”);printf(“n各项名次得分权值如下:n”);printf(“取前三名:第一名5分

第二名3分

第三名2分n”);

printf(“n请输入各学校的得分情况:”);

for(i=0;i

printf(“n请输入第%d个学校的得分情况:n”,i+1);

printf(“学校:”);scanf(“%s”,zf[i].univ);

printf(“参赛项目1:”);scanf(“%s”,zf[i].prog1);printf(“得分:”);scanf(“%d”,&zf[i].score1);printf(“参赛项目2:”);scanf(“%s”,zf[i].prog2);printf(“得分:”);scanf(“%d”,&zf[i].score2);

printf(“参赛项目3:”);scanf(“%s”,zf[i].prog3);

printf(“得分:”);

scanf(“%d”,&zf[i].score3);

zf[i].total_score=zf[i].score1+zf[i].score2+zf[i].score3;}

fp2=fopen(“zfen”,“w”);for(i=0;i

if(fwrite(&zf[i],sizeof(struct zongfen),1,fp2)!=1)

printf(“File write error!n”);} fclose(fp2);

printf_back();}

void Search()//进入查询系统子函数 { int n,w2;do

{

puts(“tt***^__^

Welcome to load search system!

^__^***n”);

puts(“tt*************************MENU*************************n”);

puts(“tt******** 1.search ttzf **************n”);//查看团体总分

puts(“tt******** 2.search csxx **************n”);//查看参赛学校信息!

puts(“tt******** 3.search bsxm **************n”);//查看比赛项目信息!

puts(“tt******** 4.Exit

**************n”);//退出

puts(“tt***************************************n”);

printf(“Choose your number(1-4):[ ]bb”);

scanf(“%d”,&n);

if(n<1||n>4)

{

w2=1;

printf(“nntt----------------------DATAERROR!----------------------nnn”);

getchar();

}

else w2=0;} while(w2==1);switch(n){ case 1: ttzf();break;case 2: csxx();break;case 3: bsxm();break;case 4: exit(0);break;default: printf(“未进行任何操作!”);}

}

void ttzf()//查看学校团体总分子函数 { fp2=fopen(“zfen”,“r”);

printf(“n各学校的团体总分情况如下:nn”);

printf(“学校

参赛项目

总分n”);for(i=0;i

fread(&zf[i],sizeof(struct zongfen),1,fp2);

printf(“%-8s%s,%s,%-12s%-12dn”,zf[i].univ,zf[i].prog1,zf[i].prog2,zf[i].prog3,zf[i].total_score);} fclose(fp2);printf_back();}

void csxx()//查看参赛学校信息子函数 {

fp3=fopen(“xxiao”,“r”);

printf(“n各参赛学校的情况如下:nn”);

printf(“学校

参赛项目

参赛者数n”);for(i=0;i

fread(&xx[i],sizeof(struct xuexiao),1,fp3);

printf(“%-8s%-20s%-12dn”,xx[i].univ,xx[i].prog,xx[i].num_athlete);} fclose(fp3);

printf_back();}

void bsxm()//查看比赛项目子函数 {

fp4=fopen(“pr”,“r”);

printf(“n各比赛项目的信息如下:nn”);

printf(“项目

取分情况

参赛者1 所属学校

参赛者2 所属学校n”);for(i=0;i

fread(&pro[i],sizeof(struct program),1,fp4);

printf(“%-12s%-10d%-10s%-12s%-10s%-12sn”,pro[i].prog,pro[i].quming,pro[i].ath1,pro[i].univ1,pro[i].ath2,pro[i].univ2);} fclose(fp4);printf_back();}

void main(){ menu();

}

void menu()//主菜单程序 { int n,w1;do {

puts(“tt***^__^

Welcome to load sports system!

^__^***n”);

puts(“tt*************************MENU*************************n”);

puts(“tt******** 1.Enter the information

**************n”);//进入信息录入

puts(“tt******** 2.Score

**************n”);//进入比赛结果录入

puts(“tt******** 3.Search

**************n”);//进入查询功能

puts(“tt******** 4.Exit

**************n”);//退出

puts(“tt******************************************************n”);

printf(“Choose your number(1-4):[ ]bb”);

scanf(“%d”,&n);

if(n<1||n>4)

{

w1=1;

printf(“nntt----------------------DATAERROR!----------------------nnn”);

getchar();

}

else w1=0;} while(w1==1);

switch(n)

{

case 1:Information();break;//输入信息

case 2:savescore();break;//比赛结果录入

case 3:Search();break;//查询模块

case 4:exit(0);

}

}

//公共函数

void printf_back(){ int w;printf(“nntSUCCESSFUL!nn”);printf(“What do you want to do next?nnt1).exit t2).menu:[ ]bb”);scanf(“%d”,&w);if(w==1)exit(0);else menu();}

第二篇:校运动会管理系统报告C语言(含完整代码)

目录 陈

一、程序分析与设计.......................................................................................................................2

二、流程图.......................................................................................................................................4

三、源程序清单...............................................................................................................................4

四、调试过程.................................................................................................................................15

五、程序有待改进的地方.............................................................................................................19

六、本次实习的收获和建议.........................................................................................................19 附录.................................................................................................................错误!未定义书签。

一、程序分析与设计

(标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符)

1.题目描述

初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录入。各项目名次取法有如下几种:

取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。

所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。2.需求分析

根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。3.总体设计

根据上面的需求分析,可以将这个系统的设计分为

1、信息输入模块

2、比赛结果录入模块

3、查询模块。具体校际运动会管理系统分为 信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。4.详细设计(1)主函数

主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。(2)密码登陆函数

首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,三次输入错误则退出系统,登陆成功显示菜单栏(3)菜单函数

提醒用户根据要求选择功能,以及多次功能选取(4)输入函数

进入该功能后提醒用户输入相应信息,即数据结构,数据结构采用结构体的形式,选手结构体成员包括选手的姓名、编号、各项目的成绩排名、选手所在学院等。(5)查找函数

提醒用户输入运动员的姓名或编号,根据姓名或编号逐一比对信息,若条件满足则输出该选手的数据,若不满足则返回‘你要找的运动员未找到’(6)排序函数

根据运动员的百米成绩进行冒泡排序,并输出结果(7)修改函数

提醒用户输入运动员的姓名,根据姓名逐一比对信息,若找到则提供修改选项,对数据进行覆盖(8)得分计算函数

根据用户输入各项成绩排名,进行得分运算 并得出学院排名(9)删除函数 用于输入信息的删除(10)插入函数 用于输入新的信息(11)保存函数

将用户输入的信息保存到文本文件中(12)显示函数 显示用户保存的信息

二、流程图

三、源程序清单

(此部分采用小五号宋体,行间距-固定值14)#include #include #include #include #include #define load sizeof(student)#define N 7 void read();void save();

int size=3;struct student {

void input()//输入原始数据// {

} void find()//查找函数// {

system(“cls”);printf(“t************查找界面************n”);char fs[20];read();printf(“输入你要查找运动员的号码或姓名:”);scanf(“%s”,&fs);for(int i=0;i

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor

} else if(strcmp(stu[i].name,fs)==0){ printf(“你要找的运动员已找到:n”);break;if(strcmp(stu[i].num,fs)==0){ printf(“你要找的运动员已找到:n”);printf(“该生的号码,姓名,100米成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);scanf(“%s%s%d%d%d%d%s”,&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].printf(“输出运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);for(i=0;i

} printf(“该生的号码,姓名,100米成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor

} } else {

} printf(“你要找的运动员未找到:n”);printf(“该运动员缺赛或不存在!”);break;break;eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);void paixu()//排序函数// {

} void xiugai()//修改函数// {

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorsystem(“cls”);printf(“t************修改界面************n”);char ch2[20],c;char num[10],name[20];int scorem,scoreq,scoreg,scorey,i;char ximing[20];printf(“原始数据:n”);/*for(int i=0;i

system(“cls”);printf(“t************排序界面************n”);printf(“对一百米的成绩排序:n”);for(int i=0;i

} printf(“排序后:n”);for(i=0;i

} if(stu[i].scorem

} temp=stu[i];stu[i]=stu[j];stu[j]=temp;

eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/

read();printf(“输入你要修改运动员的姓名:”);scanf(“%s”,ch2);for(i=0;i

if(strcmp(stu[i].name,ch2)==0){ printf(“1.修改号码n2.修改姓名n3.修改100米成绩n4.修改铅球成绩n5.修改跳高成绩n6.修改跳远成绩n7.修改系名n”);

scanf(“%d”,&c);switch(c){ case 1: { printf(“请输入你修改的运动员号码:”);scanf(“%s”,&num);strcpy(stu[i].num,num);break;} case 2: { printf(“输入你修改的运动员姓名:n”);scanf(“%s”,&name);strcpy(stu[i].name,name);break;} case 3: { printf(“输入你修改的运动员100米成绩:”);scanf(“%d”,&scorem);stu[i].scorem=scorem;break;} case 4: { printf(“输入你修改运动员铅球成绩:”);scanf(“%d”,&scoreq);stu[i].scoreq=scoreq;break;} case 5: { printf(“输入你修改运动员跳高成绩:”);scanf(“%d”,&scoreg);stu[i].scoreq=scoreq;break;} case 6: {

}

} printf(“输入你修改运动员跳远成绩:”);scanf(“%d”,&scorey);stu[i].scorey=scorey;break;case 7: {

} default: } printf(“修改后的运动员数据:n”);for(int i=0;i

if(stu[i].scoreq==1)y=3;else if(stu[i].scoreq==2)y=2;else if(stu[i].scoreq==3)y=1;else y=0;printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorread();printf(“各系的得分总分排序:n”);for(i=0;i

if(stu[i].scorem==1)x=3;else if(stu[i].scorem==2)x=2;else if(stu[i].scorem==3)x=1;else x=0;eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/ system(“cls”);printf(“t************得分界面************n”);int x,y,z,w,o,p,q,i;char ch1[20]=“ruanjian”,ch2[20]=“shumei”,ch3[20]=“guangdian”;printf(“原始数据:n”);/*for(int i=0;i

}

} if(stu[i].scoreg==1)z=3;else if(stu[i].scoreg==2)z=2;else if(stu[i].scoreg==3)z=1;else z=0;if(stu[i].scorey==1)w=3;else if(stu[i].scorey==2)w=2;else if(stu[i].scorey==3)w=1;else w=0;for(i=0;i

} if(strcmp(stu[i].ximing,ch1)==0){

} else if(strcmp(stu[i].ximing,ch2)==0){

} else if(strcmp(stu[i].ximing,ch3)==0){

} q=x+y+z+w;printf(“光电系总得分:%dn”,q);

p=x+y+z+w;printf(“数媒系总得分:%dn”,p);o=x+y+z+w;printf(“软件系总得分:%dn”,o);void shancchu()//删除函数// {

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorread();printf(“输入你要删除的运动员的姓名:n”);scanf(“%s”,&ch1);for(i=0;i

if(strcmp(stu[i].name,ch1)==0){ for(int j=i;j

} {

} } stu[j]=stu[j+1];printf(“删除后的运动员数据:n”);for(i=0;i

void charu()//插入函数

system(“cls”);int a;printf(“t************插入界面************n”);printf(“请输入要插入的运动员个数:”);scanf(“%d”,&a);for(int j=0;j

} printf(“输入要插入的运动员数据:n”);printf(“号码:”);scanf(“%s”,&stu[size].num);printf(“姓名:”);scanf(“%s”,&stu[size].name);printf(“100米成绩:”);scanf(“%d”,&stu[size].scorem);printf(“铅球成绩:”);scanf(“%d”,&stu[size].scoreq);printf(“跳高成绩:”);scanf(“%d”,&stu[size].scoreg);printf(“跳远成绩:”);scanf(“%d”,&stu[size].scorey);printf(“系名:”);scanf(“%s”,&stu[size].ximing);for(int i=0;i

for(int j=i+1;j

if(stu[i].scorem

} temp=stu[i];stu[i]=stu[j];stu[j]=temp;size++;printf(“插入后运动员数据:n”);for(int i=0;i

} void save(){

} void read(){

} printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor} fclose(fp);

//关闭文件 eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);fscanf(fp,“%st%st%dt%dt%dt%dt%sn”,&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);for(int i=0;i

if((fp=fopen(“e:xiao.txt”,“r”))==NULL){

} fscanf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“打不开文件Cannot open the filen”);return;

//若打不开则返回菜单

//为输出打开一个二进制文件,为只fprintf(fp,“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].fclose(fp);

//关闭文件 scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);printf(“保存成功....Save the file successfully!n”);FILE *fp;

//定义指向文件的指针

//char outfile[20];//printf(“输出文件例如:c:score Enter outfile name,for example c:scoren”);//scanf(“%s”,outfile);if((fp=fopen(“e:xiao.txt”,“w”))==NULL){

} printf(“n保存中...Saving the file......n”);//fprintf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);for(int i=0;i

//若打不开则返回菜单

//为输出打开一个二进制文件,为只

//保存数据到文件函数 printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorsave();eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);写方式

写方式 int login(char password[]){

//密码校对函数*********** static char key[10]=“12345”;if(strcmp(password,key)==0)return 1;else return 0;}

void Logon(){

} if(s==0){

count++;while(count!=3){

printf(“请再次输入密码:n”);scanf(“%s”,password);s=login(password);if(s==1)char a;printf(“n”);printf(“****************欢迎进入校运动会管理界面****************n”);printf(“********************************************************n”);printf(“********************登陆请按回车键**********************n”);printf(“********************************************************n”);printf(“n”);scanf(“%c”,&a);if(a=='n'){

FILE *fp;char password[10];int count=0,s;printf(“您有三次输入机会!nn”);printf(“请输入密码:n”);scanf(“%s”,password);s=login(password);if(s==1){

fp=fopen(“C:UsersAdministratorDesktop实训password.txt”,“w”);fprintf(fp,“%s”,password);fclose(fp);system(“CLS”);printf(“密码正确!n”);printf(“********************************************************n”);printf(“***************************欢迎进入*********************n”);printf(“********************************************************nnn”);

//比较输入字符和系统设定的密码是否相同

}

}

}

} {

fp=fopen(“C:UsersAdministratorDesktop实训fprintf(fp,”%s“,password);fclose(fp);system(”CLS“);printf(”密码正确!n“);password.txt”,“w”);printf(“********************************************************n”);printf(“***************************欢迎进入*********************n”);printf(“********************************************************n”);} if(s==0)count++;return;if(count==3)printf(“你已经错误输入3次,系统退出!n”);exit(0);else exit(1);void menu(){

int ch1;char ch2;struct tm *pt;/*定义时间结构体*/ time_t t;t=time(NULL);pt=localtime(&t);/*读取系统日期并把它放到结构体中*/ do{

{ printf(“tt当前系统日期:%d-%d-%dn”,pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday);printf(“======================菜单=====================n”);printf(“ 1.输入 printf(” 3.排序 printf(“ 5.得分 printf(” 7.插入 printf(“ 9.显示

2.查找 4.修改 6.删除 8.保存

n”);n“);n”);n“);/*显示当前系统日期*/

0.退出n”);printf(“=n”);printf(“请选择功能<1-8>:[ ]bb”);//getchar();scanf(“%d”,&ch1);switch(ch1)

}

}

case 1:

input();break;find();break;paixu();break;xiugai();break;defen();break;shancchu();break;charu();break;save();break;read();break;exit(0);printf(“未进行任何操作!”);case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 0: default: printf(“n”);printf(“想要继续操作请按yn”);getchar();scanf(“%2c”,&ch2);

//条件判断 }while(ch2=='y');

void main(){

} system(“color 3f”);//Logon();menu();

四、调试过程

在程序运行的过程中,出现了很多的错误。有很复杂的问题,也不乏许多低级的错误。在写入文件的时候,首先我用的是fwrite,而在读入文件的时候用的是fread,后来才发现这两个语句都只是对二进制的文件进行操作,实际上我们要用到的fscanf、fprintf这两个语句。修改完的代码 FILE *fp;//定义指向文件的指针 if((fp=fopen(“e:xiao.txt”,“r”))==NULL)

//为输出打开一个二进制文件,为只写方式

fscanf(fp,“%st%st%dt%dt%dt%dt%sn”,&stu[i].num,&stu[i].name,&stu[i].scorem,for(int i=0;i

}

fscanf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“打不开文件Cannot open the filen”);return;

//若打不开则返回菜单

&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);} fclose(fp);

//关闭文件 做菜单功能多次选择时,令用户输入字符进行选择,然而程序总是退出,后来才知道‘n’也被算入用户输入的字符内,要在字符输入后添加getchar()才能避免菜单失效 做显示函数,屏幕显示异常,总是反复显示相同数据和乱码,原来是结构体初始化,当中的数组已经存储了数据,在显示时与函数同时输出了,要再定义一个相同的数组应用它输出。(1)登陆

(2)菜单

(3)输入

(4)查找

(5)排序

(6)修改

(7)得分

(8)删除

(9)插入

(10)保存

(11)退出

五、程序有待改进的地方

六、本次实习的收获和建议

通过这次课程设计我得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说指针。编程时要养成良好的风格,注意相同内容的缩进和对齐。这样做,可以使程序代码出错的情况下,可以快速并且便捷的查找到错误的行,利于很好的修改。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。

在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,这个程序将是关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,但是我鼓起勇气,到处查找资料,终于让我实现了这个函数,谢谢给我指点迷津的朋友和同学。对我而言,知识上的收获重要,精神上的丰收是可喜的。挫折是一份财富,经历是一份拥有。这次实际操作必将成为我们人生旅途上一个非常美好的回忆!

第三篇:c语言 电话簿管理系统

#include “stdio.h” #include “string.h” #define N 20 struct mem { char name[20];

char tel[20];

char wu[20];

char dz[20];}mem[N];void sorttel(struct mem tel[]){

struct mem temp;

int i,j;

FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

printf(“不能打开文件n”);} for(i=0;i

for(j=0;j

if(strcmp(mem[j+1].tel,mem[j].tel)<0)

{

temp=mem[j];

mem[j]=mem[j+1];

mem[j+1]=temp;

} for(i=0;i

void sortname(struct mem tel[]){

struct mem temp;

int i,j;

FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

printf(“不能打开文件n”);} for(i=0;i

for(j=i+1;j

if(strcmp(mem[j].name,mem[i].name)<0)

{

temp=mem[i];

mem[i]=mem[j];

mem[j]=temp;

} for(i=0;i

void sor(){int k;

do{printf(“--------------------排序菜单-------------------n”);

printf(“------------------------n”);

printf(“

1:按号码排序n”);

printf(“

2:按姓名排序n”);

printf(“

0:退出n”);

printf(“------------------------n”);

printf(“请输入0-2选择功能n”);

scanf(“%d”,&k);getchar();

switch(k)

{

case 1:sorttel(mem);break;

case 2:sortname(mem);break;

case 0:return;

}

}while(1);}

void add(){ char name[10];char tel[10];

char wu[10];

char dz[10];FILE *fp;if((fp=fopen(“c: elephone.txt”,“a”))==NULL){

printf(“不能打开文件n”);

exit(0);}

printf(“请输入姓名”);

gets(name);

printf(“请输入电话号码”);

gets(tel);

printf(“请输入工作单位”);

gets(wu);

printf(“请输入地址”);

gets(dz);printf(“n”);

fprintf(fp,“%s %s %s %sn”,name,tel,wu,dz);

fclose(fp);} void del(){

FILE *fp;

int i=0,n;

char name[10];

printf(“请输入删除名字”);

gets(name);

if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{

fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

if(strcmp(name,mem[i].name)!=0)i++;

}

fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

printf(“不能打开文件n”);

exit(0);} for(n=0;n

fprintf(fp,“%s %s %s %s”,mem[n].name,mem[n].tel,mem[n].wu,mem[n].dz);fclose(fp);} void dis(){ FILE * fp;int i=0,n;printf(“

姓名

电话号码

工作单位

地址n”);

if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);i++;}

fclose(fp);

n=i;

for(i=0;i

printf(“%-8s%11s%13s%24sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);} void mod(){ FILE * fp;int i=0,n;char name[10];char nn[10];char nt[10];char nwu[10];char ndz[10];

printf(“请输入要修改的姓名”);gets(name);printf(“请输入修改后的姓名”);gets(nn);printf(“请输入修改后的电话号码”);gets(nt);printf(“请输入修改后的工作单位”);gets(nwu);printf(“请输入修改后的地址”);gets(ndz);printf(“n”);if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{

fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

if(strcmp(name,mem[i].name)==0)

{strcpy(mem[i].name,nn);strcpy(mem[i].tel,nt);strcpy(mem[i].wu,nwu);strcpy(mem[i].dz,ndz);}

i++;

}

fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

printf(“不能打开文件n”);

exit(0);}

n=i;

for(i=0;i

fprintf(fp,“%s %s %s %sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

fclose(fp);} void main(){

int choose;

while(1)

{

printf(“--------------------电话簿管理系统--------------------n”);

printf(“------------------------n”);

printf(“

1:添加一个新号码n”);

printf(“

2:删除一个号码n”);

printf(“

3:显示所有保存的号码n”);

printf(“

4:修改号码n”);

printf(“

5:排序n”);

printf(“

6:查询n”);

printf(“

0:退出n”);

printf(“------------------------n”);

printf(“请输入0-6选择功能n”);

scanf(“%d”,&choose);getchar();

if(choose!=0)

switch(choose)

{

case 1:add();break;

case 2:del();break;

case 3:dis();break;

case 4:mod();break;

case 5:sor();break;

case 6:/*que();break*/;

}

else exit(0);

} }

第四篇:C语言-通讯录管理系统

#include #include #include struct record{ charnum[12];char name[10];char birthday[10];char post[10];char phone[15];}data[100];intmenu_select();intcreate_record();intadd_record(int flag);int flag=0;

intfind_record(int flag);intdelete_record(int flag);voidpaixu_record(int flag);intsave_record(int flag);void main(){ for(;;){ switch(menu_select())

{ case 1: printf(“ ***********************************************n”);printf(“ ************** 通讯录的建立 ***************n”);printf(“ ***********************************************n”);flag=create_record();break;case 2: printf(“ ***********************************************n”);printf(“ ************** 通讯录信息的添加 *****************n”);printf(“ ***********************************************n”);flag=add_record(flag);break;case 3: printf(“ ******************************n”);printf(“ ******* 通讯录信息查询 *******n”);printf(“ ******************************n”);find_record(flag);

break;case 4: printf(“ ***********************************n”);printf(“ **********通讯信息的删除***********n”);printf(“ ***********************************n”);delete_record(flag);break;case 5: printf(“ ***********************************n”);printf(“ **********通讯录的存储(D:)*********n”);printf(“ ***********************************n”);save_record(flag);break;case 6: printf(“ ***********************************n”);printf(“ **********通讯者的排序*********n”);printf(“ ***********************************n”);paixu_record(flag);break;case 0: printf(“t 谢谢您的使用!n”);break;

default : break;} } } intmenu_select(){ int i;printf(“

********************

n”);printf(“

Welcome!

n

”);printf(“

Form kuangminn”);printf(“

********************

n”);printf(“

n”);printf(“ n”);printf(“ n”);printf(“

通讯录管理系统

n”);printf(“ n”);printf(“

======================n”);printf(“

1.通讯录的建立n”);printf(“

2.通讯者的添加n”);printf(“

3.通讯录的查询n”);printf(“

4.通讯者的删除n”);printf(“

5.通讯录的存储n”);printf(“

6.通讯者的排序n”);printf(“

0.退出通讯录管理系统n”);printf(“

======================n”);printf(“

请选择操作0-5 nn”);for(;;){ scanf(“%d”,&i);if(i<0||i>6)printf(“t对不起,您的输入错误n”);else break;} return i;} intcreate_record(){inti,j;for(i=0;;)

{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);i++;printf(“ 想继续创建吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)

return i;else printf(“恭喜你,创建成功!请继续创建!n”);

} return i;} intadd_record(int flag){ int i=flag,j;for(i;;)

{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);

scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday,data[i].post, data[i].phone);i++;printf(“ 想继续添加吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)return i;else printf(“恭喜你,添加成功!请继续添加!n”);

} return(i);} intfind_record(){ int i;char number[6];char named[10];intxz;printf(“--------------------n”);printf(“ 1.按学号查询n”);printf(“ 2.按姓名查询n”);printf(“--------------------n”);printf(“ 请选择 : n”);

scanf(“%d”,&xz);if(xz==1){ printf(“ 请输入要查找的学号: ”);scanf(“%s”,number);for(i=0;i

if(strcmp(data[i].num,number)==0)

{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;}

} else if(xz=2){ printf(“请输入要查找的姓名: ”);scanf(“%s”,named);for(i=0;i

{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;else {printf(“对不起,没有你要找的人!n”);return 0;} }

else {printf(“对不起,没有你要找的人!n”);return 0;}

}

} intdelete_record(int flag)

{ inti,j;intdeletemark=0;char number[20];printf(“ttt请输入要删除学号:n”);scanf(“%s”,number);for(i=0;i

{ if(strcmp(data[i].num, number)==0)

{ printf(“ttt以下是您要删除的用户纪录:n”);printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);

printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);

printf(“ttt是否删除?(y/n)”);if(getch()=='y' || getch()=='Y')

{ for(j=i;j

} else return;

} continue;

} if(deletemark==0)

{ printf(“ttt没有该用户的纪录”);

return;

} return;

} voidpaixu_record(int flag){inti,j;struct record tmp;

printf(“ 1.按姓名排序n”);printf(“ 2.按学号排序n”);scanf(“%d”,&i);if(i==1){for(i=1;i

{ if(strcmp(data[i].name, data [i-1].name)<0)

{ tmp= data[i];

j=i-1;do

{ data [j+1]= data [j];j--;}while((strcmp(tmp.name, data [j].name)<0&&j>=0));data [j+1]=tmp;

}

} printf(“ttt排序成功!”);}

if(i==2){for(j=0;jdata[i+1].num)

{tmp=data[i];data[i]=data[i+1];data[i+1]=tmp;} } }

intsave_record(int flag){

FILE*fp;int i;if((fp=fopen(“D:data.txt”,“w+”))==NULL)

{printf(“无法打开文件!”);exit(0);} for(i=0;i

{fprintf(fp,“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);printf(“n”);} fclose(fp);return 0;}

第五篇:c语言图书管理系统

C语言——图书管理系统

代码部分: #include #include #include #pragma comment(lib,“libmysql.lib”)

/*定义数据库相关操作变量*/ MYSQL mysql;

// MYSQL_RES *result;

//定义结果集变量 MYSQL_ROW row;

//定义行变量 char ch[2];

void ShowAll();

/*显示所有的图书信息*/ void AddBook();

/*添加图书信息*/ void ModifyBook();

/*修改图书信息*/ void DeleteBook();

/*删除图书信息*/ void QueryBook();

/*查询图书信息*/

/*显示菜单*/ void showmenu(){

system(“cls”);

printf(“nnnnn”);

printf(“t╔═══════════════════════════╗n”);

printf(“t║

Welcome To Lemon Books System

║n”);

printf(“t╠═══════════════════════════╣n”);

printf(“t║t 1添加图书信息

║n”);

printf(“t║t 3删除图书信息

║n”);

printf(“t║t 5退出

║n”);

printf(“t╚═══════════════════════════╝n”);

printf(“n

ENTER YOUR CHOICE(1-6):”);

}

void inquire()/*询问用户是否显示主菜单*/ {

printf(“t 显示主菜单?(y/n):”);

scanf(“%s”,ch);

if(strcmp(ch,“Y”)==0||strcmp(ch,“y”)==0)/*判断是否要显示查找到的信息*/

{

showmenu();

/*显示菜单*/

}

else

{

exit(0);

} }

/*显示主菜单,连接数据库*/ int main(){

int n;

//定义变量

存储用户输入的编号

mysql_init(&mysql);//初始化mysql结构

showmenu();

/*显示菜单*/

scanf(“%d”,&n);/*输入选择功能的编号*/

while(n)

{

switch(n)

{

case 1:

ShowAll();

/*调用显示所有图书数据的过程*/

break;

case 2:

AddBook();

/*添加图书信息*/

break;

case 3:

ModifyBook();

/*修改图书信息*/

break;

case 4:

DeleteBook();

/*删除图书信息*/

break;

case 5:

QueryBook();

/*查询图书信息*/

break;

case 6:

exit(0);

/*退出*/

default:break;

}

scanf(“%d”,&n);

} }

void ShowAll()

/*调用显示所有图书数据的过程*/ {

/*连接数据库*/

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“nt 不能连接数据库!n”);

}

else

{

/*数据库连接成功*/

if(mysql_query(&mysql,“select * from tb_book”))

{

//如果查询失败

printf(“nt 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t ════════════════════════════

n”);

printf(“t

显 示 所 有 图 书 信 息

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

else

{

printf(“nt 没有记录信息!n”);

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

void AddBook()

/*添加图书信息*/ {

int rowcount;

/*结果集中的行数*/

char id[10];

/*编号*/

char *bookname;

char *author;

char *bookconcern;

char *sql;

char dest[500] ={“

”};

/*连接数据库*/

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“nt 不能连接数据库!n”);

}

else

{

/*数据库连接成功,插入数据*/

printf(“t ════════════════════════════ n”);

printf(“t

添 加 图 书 信 息

n”);

printf(“t ════════════════════════════ n”);

if(mysql_query(&mysql,“select * from tb_book”))

{

//如果查询失败

printf(“nt 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

rowcount=mysql_num_rows(result);//获得行数

row=mysql_fetch_row(result);

//获取结果集的行

printf(“t 图书编号:”);

scanf(“%s”,id);

/*输入图书编号*/

sql=“insert into tb_book(ID,bookname,author,bookconcern)values(”;

strcat(dest,sql);

strcat(dest,“'”);

strcat(dest,id);

strcat(dest,“', '”);

if(mysql_num_rows(result)!=NULL)

{

/*判断输入的编号是否存在*/

do

{

//存在相同编号

if(!strcmp(id,row[0]))

{

// printf(“%s”,row[0]);

printf(“nt 记录存在,按任意键继续!n”);

getch();

mysql_free_result(result);

/*释放结果集*/ mysql_close(&mysql);

/*释放连接*/

inquire();

/*询问是否显示主菜单*/

return;

}

}while(row=mysql_fetch_row(result));

}

bookname =(char*)malloc(50);

author =(char*)malloc(50);

bookconcern =(char*)malloc(50);

//不存在相同的编号

printf(“t 图书名:”);

scanf(“%s”,bookname);

/*输入图书名*/

strcat(dest,bookname);

/*将图书编号追加到sql语句后面*/

printf(“t 作者:”);

scanf(“%s”,author);

/*输入作者*/

strcat(dest,“', '”);

strcat(dest,author);

printf(“t 出版社:”);

scanf(“%s”,bookconcern);

/*输入出版社*/

strcat(dest,“', '”);

strcat(dest,bookconcern);

strcat(dest,“')”);

//printf(“%s”,dest);

if(mysql_query(&mysql,dest)!=0)

{

fprintf(stderr,“t 不能插入记录!”,mysql_error(&mysql));

}

else

{

printf(“t 插入成功!n”);

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

void ModifyBook()

/*修改图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[500] ={“

”};

char dest1[500] ={“

”};

char *bookname;

char *author;

char *bookconcern;

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

/*数据库连接成功*/

// printf(“连接成功”);

printf(“t 请输入您想要修改的图书编号.”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

//printf(“%sn”,dest);

/*查询该图书信息是否存在*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{

//有记录的情况,只有有记录取数据才有意义

printf(“t 发现记录信息,是否显示?(y/n)”);

scanf(“%s”,ch);

if(strcmp(ch,“Y”)==0||strcmp(ch,“y”)==0)/*判断是否要显示查找到的信息*/

{

printf(“t ════════════════════════════

n”);

printf(“t

***** 显示图书信息 *****

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

printf(“t Modify?(y/n)”);

scanf(“%s”,ch);

if(strcmp(ch,“Y”)==0||strcmp(ch,“y”)==0)

/*判断是否需要录入*/

{

sql = “update tb_book set bookname= '”;

strcat(dest1,sql);

//

printf(“%s”,sql);

bookname =(char*)malloc(20);

author =(char*)malloc(20);

bookconcern =(char*)malloc(20);

printf(“t 图书名:”);

scanf(“%s”,bookname);

/*输入图书名*/

strcat(dest1,bookname);

// printf(“%s”,&bookname);

printf(“t 作者:”);

scanf(“%s”,author);

/*输入作者*/

strcat(dest1,“', author= '”);

strcat(dest1,author);

/*追加sql语句*/

printf(“t 出版社:”);

scanf(“%s”,bookconcern);

/*输入出版社*/

strcat(dest1,“', bookconcern = '”);

strcat(dest1,bookconcern);

/*追加sql语句*/

strcat(dest1,“' where id= ”);

strcat(dest1,id);

//printf(“%s”,dest1);

if(mysql_query(&mysql,dest1)!=0)

{

fprintf(stderr,“t 不能修改记录!n”,mysql_error(&mysql));

}

else

{

printf(“t 修改成功!n”);

}

}

}

else

{

printf(“t 没有发现要修改的信息!n”);

}

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

inquire();

/*询问是否显示主菜单*/ }

void DeleteBook()

/*删除图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[100] ={“

”};

char dest1[100] ={“

”};

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

printf(“t 请输入您想要删除的图书编号.”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

//printf(“%sn”,dest);

/*查询该图书信息是否存在*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t 发现记录信息,是否显示?(y/n)”);

scanf(“%s”,ch);

if(strcmp(ch,“Y”)==0||strcmp(ch,“y”)==0)/*判断是否要显示查找到的信息*/

{

printf(“t ════════════════════════════

n”);

printf(“t

***** 显示图书信息 *****

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

printf(“t 是否删除?(y/n)”);

scanf(“%s”,ch);

if(strcmp(ch,“Y”)==0||strcmp(ch,“y”)==0)

/*判断是否需要录入*/

{

sql = “delete from tb_book where ID= ”;

printf(“%s”,dest1);

strcat(dest1,sql);

strcat(dest1,id);

// printf(“%s”,dest1);

if(mysql_query(&mysql,dest1)!=0)

{

fprintf(stderr,“t 不能删除记录!n”,mysql_error(&mysql));

}

else

{

printf(“t 删除成功!n”);

}

}

}

else

{

printf(“t 没有发现要删除的信息!n”);

}

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

inquire();

/*询问是否显示主菜单*/ }

void QueryBook()

/*查询图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[100] ={“

”};

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

printf(“t 请输入您想要查询的图书编号:”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t ════════════════════════════

n”);

printf(“t

显示图书信息

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

else

{

printf(“t 没有发现要查询的信息!n”);

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

说明部分

附加MySQL数据库

将工程文件夹中的data文件夹下的db_books文件夹拷贝到本地Mysql数据库安装文件夹的data文件夹中。即可完成对数据库的附加。

连接MySql的步骤

MySQL为C语言提供了连接数据库的API,要想正常使用这些API,需要做以下两件事情:(1)包含这些API的声明文件,即mysql.h。

(2)让编译器找到这些API的可执行程序,即DLL库。下面介绍一下详细的步骤: 1.

下面解决,让编译器找到mysql.h的问题。需要在编译环境中作如下的设置: 在Visual C++ 6.0中,选择Tools(工具)/Options(选项)菜单项,如下图所示。

选择菜单命令

即可打开Options对话框,在Options对话框中选择Directories选项卡,在Show directories for下拉列表框中选择Include files选项,在Directiories列表框中添加本地安装MySQL的include目录路径。如下图所示。默认的路径应该在C:Program FilesMySQLMySQL Server 5.0include。

添加mysql.h文件

通过上述设置,编译器就可以知道MySQL的API接口中有哪些函数,以及函数的原型是怎样的。在编译时,所编写的程序已经能够通过编译(compile)这步了。

2.引入库函数

经过上一步的设置,程序已经可以编译通过了,但是编译通过并不等于可以生成可执行文件。还需要告诉编译器这些API函数的可执行文件在哪个DLL文件(libmysql.dll)中。

在工程中选择Tools/Options菜单命令,将弹出Options对话框,在该对话框中选择Directories选项卡,在Show directories for下拉列表框中选择Include files选项。添加本地安装的MySQL的Lib目录路径。默认的安装路径是C:Program FilesMySQLMySQL Server 5.0libdebug 或者C:Program

FilesMySQLMySQL Server 5.0libopt)。设置完成的效果如下图所示。

引用库

单击OK按钮,关闭Options对话框。选择Project/Settings菜单命令。如下图所示。

选择Project/Settings菜单项

下面添加libmysql.lib到工程中。选择Project/Settings菜单项,将弹出Project Settings对话框,在该对话框中选择Link选项卡。在Object/library modules文本框末尾添加libmysql.lib。如下图所示。

添加libmysql.lib到工程中

最好将libmysql.lib以及libmysql.dll文件拷贝到工程的目录下。设置完成后就可以运行程序了程序运行界面如下图所示:

下载校级运动会管理系统c语言程序5篇word格式文档
下载校级运动会管理系统c语言程序5篇.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言销售管理系统

    课程设计说明书 学 院、系: 专业: 学 生 姓 名: 设 计 题 目: 起 迄 日 期: 指 导 教 师: 学 号: 销售管理系统 日期: 2017年5月12日 1 设计目的 1.了解管理信息系统的开发......

    C语言药房管理系统

    #include #include #include #include struct medicine { char name[20]; //药品名称 char number[50]; //药品编号 char price[50]; //单价 char inventory[50]; //库存......

    C语言食堂饭卡管理系统

    食堂饭卡管理系统3人 基本功能: (1)发卡:学生员工持有效证件到管理处缴押金,办理就餐卡,操作人员将相关内容写入卡中,并自动产生编号,持卡人员再预交一定金额款项即可进行就餐。 (2......

    C语言实验电话薄管理系统

    #include "stdio.h" /*标准输入输出函数库*/ #include "stdlib.h" /*标准函数库*/ #include "string .h" /*字符串函数库*/ #include "conio.h" /*屏幕操作函数库*/ #define......

    C语言程序设计图书管理系统

    C语言程序设计实验报告 题 目: 图书管理管理系统 院 系: 信息科技学院 专 业: 姓 名: 学 号: 指导教师: 杨呈勇 日 期: 09-09-18 1 问题定义 ……………………………………………......

    C语言课程设计 仓库管理系统

    C语言课程设计 仓库管理系统 #include struct cangku { int num; char name[20]; char introdution[50]; float square; }; typedef struct cangku Cangku; int Input(......

    红绿灯C语言程序

    业余党校笔记(全部整理) 2009年4月16日 第一讲《中国共产党的性质和指导思想》 党的性质,是指一个政党所具有的质的规定性,即它代表哪个阶级利益,具有哪个阶级的特性。中国共产......

    十大C语言经典程序

    计算机二级C语言程序必背 1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include main() {int i,j,result; for (i=1;i......