当前位置:首页 » 编程语言 » c语言简单的课程设计

c语言简单的课程设计

发布时间: 2022-09-04 11:46:23

c语言编程 只要一个简单的课程设计,题目是:《简单数据库

这个要看你的平台的,什么数据库,什么操作系统,什么开发工具
目前,数据库基本都支持SQL语言的(LZ的就是SQL语言),而不同的数据库对C支持的方式也不同
如windwos平台,大部分数据库都可用ADO
当然,数据库本身也会提供C语言开发
如oracle,支持pro*c,oci等
先找本数据库的书看下,明白SQL语言后再参考不同的平台,看下你而要的数据库的开发方式.

㈡ c语言课程设计!急!!!

#include<stdio.h>
#include<stdlib.h>//应用动态存储分配函数//
#include<time.h>
# define LEN sizeof(struct question)
struct question
{
char ask[200];//选择题题目//
char answer[4][80];//选择题选项,每个答案的长度//
int right;//正确答案//
struct question *next;//next是指针类型的成员,
//它指向struct question类型数据(即next所在的结构体类型)
//使用指针类型成员存放下一个结点的地址
//此步骤实现了问题的连续输入输入
};
int menu(void);//声明菜单选择函数
struct question *seek(struct question *seek,long len,long max);//寻找读取答案的位置
struct question *insert(struct question *fst,const struct question *ad);//插入试题
void getquestion(struct question *s);//获取问题,选项,以及正确答案
void savefile(const struct question *a,FILE *sf);//保存最佳答案在文件中//
struct question *loadfile(struct question *b,FILE *lf);//读取题目,将题目添加到列表中
int getanswer(void);//得到答案
int getyouranswer(void);//得到考生答案
void explainquestion(const struct question *q,int n);//统计答对题目数,显示得分
//选择菜单//
int menu(void)
{
int v;
printf("1—添加选择题\n2—回答选择题\n3—退出\n");
scanf("%d",&v);
return v;
}
//seek函数确定一个读取答案的位置,len代表要读取的答案数,max代表列表的长度//
struct question *seek(struct question *seek,long len,long max)
{
int i;
srand(time(NULL));
while(i=rand()%max+len<max);//随机选取一个读题目的位置//
while(i--)
seek=seek->next;//找到指定的位置//
return seek;
}
//向列表中插入试题//
struct question *insert(struct question *fst,const struct question *ad)
{
struct question *newptr=(struct question *)malloc(LEN);//分配新的内存空间//
if (newptr==NULL)
exit(0);
*newptr=*ad;
newptr->next=fst;
return newptr;
}
//获取问题,选项,以及正确答案//
void getquestion(struct question *s)
{
int i=0;
printf("请输入选择题题目:\n");
scanf("%s",s->ask);//指向结构体中的成员//
while(i<4)
{
printf("请输入选项%c的答案:\n",i+'A');
scanf("%s",s->answer[i++]);
}
s->right=getanswer();
}
//试题保存//
void savefile(const struct question *a,FILE *sf)//使用const说明成员函数//
{
fclose(sf);
if((sf=fopen("kstm.dat","w"))==NULL)//以写的方式重新打开文件//
return;
while(a)
{
fwrite(a,sizeof(struct question),1,sf);
a=a->next;
}
}
//从文件中读取题目,将题目添加到列表中//
struct question *loadfile(struct question *b,FILE *lf)
{
struct question temp;
while (fread(&temp,sizeof(struct question),1,lf))
b=insert(b,&temp);
return b;
}

//统计答对题目数,显示得分//
void explainquestion(const struct question *que,int n)
{
int i=0,t=0;
char result[1001],*p=result;
for(i=0;t<n;que=que->next,t++)
{
printf("%s\nA.%s\nB.%s\nC.%s\nD.%s\n\n",que->ask,que->answer[0],que->answer[1],que->answer[2],que->answer[3]);
if((*p=que->right)==(*(p+1)=getyouranswer()))
++i;
p+=2;
}
*p='\0';
printf("\n%-20s%-20s%s\n","标准答案","你的答案","评价");
for(p=result;*p!='\0';p+=2)
printf("%-20c%-20c%s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
printf("\n你回答了%d道题,答对%d道题目,得分:%.2f\n\n",n,i,(float)(i*100.00/n));
}
//得到选择题的答案//
int getanswer(void)
{
static int i=1;
int c=0;//必须进行初始化,避免出现偶然性的错误//
while(c<'A'||c>'D')//确保输入的答案是ABCD中的一个//
{
printf("请输第%d题的正确答案:",i);
scanf("%c",&c);
printf("\n");
if(c>96)
c=c-32;//实现小写向大写的转换//
}i++;
return c;
}
int getyouranswer(void)
{
int c=0;//必须进行初始化,避免出现偶然性的错误//
while(c<'A'||c>'D')//确保输入的答案是ABCD中的一个//
{
printf("请输入你的答案:");
scanf("%c",&c);
if(c>96)
c=c-32;//实现小写向大写的转换//
}
return c;
}
main()
{
struct question *start=NULL,temp;
long int choice,line=0,c;
FILE *fp=fopen("kstm.dat","a+");//用'a+'方式打开文件名为'kstm.dat'文件,可添可读//
start=loadfile(start,fp);
printf(" *****欢迎使用此考试系统,请输入你要执行的步骤的编号*****\n");
while((choice=menu())!=3)//如果考生不选3-退出//
if(choice==1)
{
getquestion(&temp);
start=insert(start,&temp);
++line;//统计列表的长度//
}
else if(choice==2)
{
printf("请输入要回答的问题数量:");
scanf("%d",&c);
start=seek(start,c,line);
explainquestion(start,c);
}
savefile(start,fp);
fclose(fp);
return 0;
}

㈢ c语言课程设计实例

#include<iostream.h>
void main()
{
char a[12][9]={{'j','a','n','u','a','r','y'},{'F','e','b','r','u','a','r','y'},{'m','a','r','c','h'},{'a','p','r','i','l'},{'m','a','y'},{'j','u','n','e'},{'j','u','l','y'},{'a','u','g','u','s','t'}, {'s','e','p','t','e','m','b','e','r'},{'o','c','t','o','b','e','r'},{'n','o','v','e','m','b','e','r'},{'D','e','c','e','m','b','e','r'}},(*p)[9]=a;
int b;
cout<<"输入月份:";
cin>>b;
cout<<"该月的英文单词是:"<<*(p+b-1)<<endl;
}

程序写到这分上,我都想自杀了.......用字符串应该会简单些,可是我没想好..只能这样了..

㈣ C语言课程设计

//我以前的作业

游戏说明
1.开始游戏
1)系统随机产生一位不重复的N位数字。N的大小与等级有关。
初级:N=3 中级:N=4 高级:N=5
2)游戏者输入所猜的不重复数字,并按回车提交。提交的数据
数应与N的大小一致,当数据位数大于N时,只取前N位。
3)系统将提交的数与它自动产生的数进行比较,输出结果“*A*B”形式。其中A代表数字正确相应位置也正确,B代表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不对,即游戏者已经猜出4位数据,但有3个数据位置不对!
4)游戏者有限定次数的猜测机会,在规定次数内完成,则游戏成功,否则,游戏失败。其中,猜测次数与等级有关:
初级:10次 中级:9次 高级:8次。
5)按完成游戏所用的时间和次数计算游戏者所得分数,游戏等级越高,猜测所用的次数越少,得分越高!若游戏者得分比系统已经保存的分数的高,将提示要求输入游戏者信息,并且保存在最佳排行之中。
2.等级设置
6)游戏者可以自行设置游戏等级:初级,中级和高级。
3.最佳排行
在最佳排行中,游戏者可以查看当前游戏的最佳排行。
4.游戏说明
在游戏说明中,游戏者可以查看游戏规则。

三.总体设计
本课程设计对模块设计的要求如下:
(1)要求使用多文件方式实现设计;
(2)要求在各个文件内实现结构化设计;
(3)每个模块作为一个单独的C文件,每个文件内的函数如表所示,表中给出了各个函数的功能说明。
(4)宏和数据结构等放在头文件中,并使用条件编译
(1)文件及函数组成
源文件 函数名或其他成分 功能
record.h
ASK 宏定义
结构声明 结构声明
库函数及函数原型声明
game_ control.c Game_rank 设置游戏等级
Game_explain 输出游戏说明
game_ register.c Tiptop_record 记录最高分
Tiptop_output 输出最佳排行
game.c Game_main 开始游戏中心
Build_number 获取系统随机数字
Game_in_out 获取游戏者数据和输出结果
Time_command 时间控制
Game_result 游戏结果处理输出
record.c main 主函数
Menu_select 选择菜单
manage_menu 处理菜单

(2)函数设计
1.头部文件
文件名称:record.h
功 能:声明函数原型,包含文件及自定义宏和数据结构。
要 求:报告是否能正常打开文件执行操作。
2. 设置游戏等级函数
函数原型:void Game_rank(void)
功 能:可由游戏者自行设置游戏等级
参 数:void
返 回 值:void
要 求:如果游戏者没有进行等级设定,则默认初级进行游戏。
3. 输出游戏说明函数
函数原型:void Game_ explain()
功 能:输出游戏规则说明
参 数:void
返 回 值:void
要 求:说明游戏相应的按键,保证游戏者按照说明。
4. 记录最高分函数:
函数原型:void Tiptop_register(int)
功 能:把从Get_player函数得到的游戏者信息和游戏的积分信息一同保存到指定路径的Tiptop_register.dat文件中
参 数:int S;S为游戏积分
返 回 值:void
要 求:要求把Tiptop1.txt(初级最高分) Tiptop2.txt(中级最高分) Tiptop3.txt(高
级最高分)原来有的信息替换为现在的信息,并且只有积分大于原有信息的第
十名,才会被以替换的方式记录;并且是降序的方式排列的。
5. 输出最佳排行函数:
函数原型:void Tiptop_out()
功 能:输出最佳排行信息
参 数:void
返 回 值:void
要 求:没有信息的时候输出提示,有信息时按降序排列输出全部信息。
6. 开始游戏中心函数
函数原型:void Game_main()
功 能:调用Time_ control 、Build_number等函数,进行游戏的整体控制
参 数:void
返 回 值:void
要 求:注意函数的完整性,保证游戏顺利进行,注意没有设置等级时候,默认C=1!
7. 获取系统随机数字函数
函数原型:int *Build_number()
功 能:系统调用<time.h>文件,利用srand((unsigned) time(&)产生1个N位随机数字,供游戏者猜测
参 数:void
返 回 值:int 8=*i:指向产生的随机数字构成的数组的指针
要 求:产生的数字是随机的,并且是不重复的,总共产生N(依据游戏等级而定)位数字,组成数组[初级为3个数字]。
8. 获取游戏者游戏数据和输出游戏进程结果函数
函数原型:void Course_in_out()
功 能:把游戏者猜的数据读入内存,并且分析得出结果,并输出结果
参 数:void
返 回 值:void
要 求:用A或B的代码表示本次的结果,其中A表示数值对位置也对,B表示数值对,但位置错了!每次得到游戏者的猜测数据都要分析得出结果并输出结果,以便游戏者的下一次猜测。
9. 时间控制函数
函数原型:int Time_ control()
功 能:利用<dos.h>和<time.h>文件,得到玩游戏的总时间,计算游戏积分。
参 数:void
返 回 值:int Time:游戏前后的时间差异
要 求:得到的时间是以秒为单位,数据是整型数据。
10. 游戏结果处理输出函数
函数原型:void Game_result(int m )
功 能:计算,得出最后游戏积分
参 数:int m:整个游戏的时间
返 回 值:void
要 求:按照游戏等级,设置不同的游戏积分方式。
11. 主函数:
函数原型:void main()
功 能:调用各个子函数,实现整体程序的运行
参 数:void
返 回 值: void
要 求:控制整个游戏的顺利进行。
12. 选择菜单函数:
函数原型:void Menu_select()
功 能:得到Handle_menu的返回值,由一个switch语句选择开始,等级,最佳排行,游戏说明,结束等菜单操作。
参 数:void
返 回 值:void
要 求:由Handle_menu得到数据可循环得到,直到得到数字5时,选择退出菜单,方可退出游戏,否则一直循环程序!
13. 处理菜单函数:
函数原型:int Handle_menu()
功 能:输出菜单选择提示,并由cin语句实现游戏者的输入,输入选择相应菜单对应的菜单序号,并把相应的值传给Menu_select函数
参 数:void
返 回 值:int n:选择相应菜单的菜单序号
要 求:输入的值不是相应的菜单的序号时返回0值,否则返回游戏者的输入值,以选择相应菜单。

四.程序代码
1. record.h
#include"time.h"
#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//结构体
#define MAXSIZE 20
typedef long int ElemType; //定义结构体tiptop,存放游戏者的最高分等信息
typedef struct tiptop
{
ElemType data;
char name[MAXSIZE];
char grade[MAXSIZE];
int year;
int month;
int day;
char week[MAXSIZE];
int hour;
int minute;
int second;
}tiptop;
//全局变量
int C; //C为等级设置变量
//函数声明
void Menu_select(); //选择菜单函数
int manage_menu(); //处理菜单函数
void Tiptop_record(int); //记录最高分函数
void Tiptop_output(); //输出最佳排行函数
void Game_rank(); //设置游戏等级函数
void Game_explain(); //输出游戏说明函数
void Game_main(); //开始游戏中心函数
int *Build_number(); //获取系统随机数字函数
void Game_in_out(); //获取游戏数据和输出游戏进程结果函数
int Time_command(); //时间控制函数
void Game_result(int); //游戏结果处理输出函数

2. game_ control.c
#include"record.h"
//**********************
// 设置游戏等级函数
//**********************
void Game_rank()
{
FILE *fp;
printf("\t******************************\n");
printf("\t************1:初级************\n");
printf("\t************2:中级************\n");
printf("\t************3:高级************\n");
printf("\t******************************\n");
printf("\t请选择游戏等级:\t");
loop:
scanf("%d",&C);
if(C<1||C>3)
{
printf("\t输入有误!请重新输入:\t");
goto loop;
}
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打开C.txt文件失败!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
if(C==1)
printf("\t等级设置为初级!\n");
if(C==2)
printf("\t等级设置为中级!\n");
if(C==3)
printf("\t等级设置为高级!\n");
printf("\n");

}
//****************
//输出游戏说明函数
//****************
void Game_explain()
{
printf("游戏说明:\n");
printf("\t**********************************************************\n");
printf("\t**********************************************************\n");
printf("\t①:游戏开始,系统随机产生一位不重复的N位数字。N的大小与等级\n");
printf("\t有关:\n");
printf("\t初级:N=3\t中级:N=4\t高级:N=5\t\n");
printf("\t②:游戏者输入所猜的不重复数字,并按回车提交。\n");
printf("\t提交的数据位数应与N的大小一致,当数据位数大于N时,只取前N位;\n");
printf("\t③:系统将提交的数与它自动产生的数进行比较,输出结果\n");
printf("\t“*A*B”形式。其中A代表数字正确相应位置也正确,B代\n");
printf("\t表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置\n");
printf("\t正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不\n");
printf("\t对,即游戏者已经猜出4位数据,但有3个数据位置不对!\n");
printf("\t④:游戏者有限定次数的猜测机会,在规定次数内完成,\n");
printf("\t则游戏成功。否则,游戏失败。其中,猜测次\n");
printf("\t数与等级有关:\n");
printf("\t初级:10次\t中级:9次\t高级:8次。\t\n");
printf("\t⑤:按完成游戏所用的时间和次数计算游戏者所得分数,\n");
printf("\t游戏等级越高,猜测所用的次数越少,得分越高!\n");
printf("\t若游戏者得分比系统已经保存的分数的高,将提示要求\n");
printf("\t输入游戏者信息,并且保存在最佳排行之中。\n");
printf("\t⑥:游戏者可以自行设置等级!\n");
printf("\t**********************************************************\n");
printf("\t**********************************************************\n");
printf("\n");
}
3. game_ register.c
#include"record.h"
//**************
//记录最高分函数
//**************
void Tiptop_record(int S)
{
FILE *fp;
tiptop n;
char *week[]={"星期天","星期一","星期二","星期三","星期四","星期五",
"星期六"};
time_t timep;
struct tm *t;
printf("\t恭喜您!\n");
printf("\t您获得本游戏的最高分!\n");
//获取名字
printf("\t请输入您的姓名:");
printf("\t");
scanf("%s",n.name);
//获取时间
time(&timep);
t=gmtime(&timep);
t->tm_year=1900+t->tm_year;
t->tm_mon=1+t->tm_mon;
t->tm_hour=8+t->tm_hour;
n.year=t->tm_year;
n.month=t->tm_mon;
n.day=t->tm_mday;
strcpy(n.week,week[t->tm_wday]);
n.hour=t->tm_hour;
n.minute=t->tm_min;
n.second=t->tm_sec;
//获取等级
if(C==1)
strcpy(n.grade,"初级");
if(C==2)
strcpy(n.grade,"中级");
if(C==3)
strcpy(n.grade,"高级");
//获取分数
n.data=S;
if(C==1)
{
if((fp=fopen("tiptop1.txt","w"))==NULL)
{
printf("\t打开tiptop1.txt文件失败!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==2)
{
if((fp=fopen("tiptop2.txt","w"))==NULL)
{
printf("\t打开tiptop2.txt文件失败!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==3)
{
if((fp=fopen("tiptop3.txt","w"))==NULL)
{
printf("\t打开tiptop3.txt文件失败!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
}
//****************
//输出最佳排行函数
//****************
void Tiptop_output()
{
int i;
FILE *fp;
tiptop p,q,r;
if((fp=fopen("tiptop1.txt","r"))==NULL)
{
printf("还没有最佳排行!");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop2.txt","r"))==NULL)
{
printf("还没有最佳排行!");
exit(1);
}
fread(&q,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop3.txt","r"))==NULL)
{
printf("还没有最佳排行!");
exit(1);
}
fread(&r,sizeof(struct tiptop),1,fp);
fclose(fp);
if(p.data==0&&q.data==0&&r.data==0)
{
printf("\t暂无最高分信息!");
printf("\n");
printf("\t是否直接进入游戏?刷新最佳排行信息?\n");
printf("\t1:是\t2:否\n");
printf("\t");
i=0;
scanf("%d",&i);
if(i==1)
{
printf("\t请设置游戏等级: \n");
Game_rank();
Game_main();
}
else
Menu_select();
}
else
{
printf("\t最佳排行:\n");
printf("\t等级\t姓名\t分数\t游戏时间\n");
if(p.data!=0)
{
printf("\t%s\t%s\t%d\t",p.grade,p.name,p.data);
printf("%d—%d—%d\t",p.year,p.month,p.day);
printf("%s\t%d:%d:%d\n",p.week,p.hour,p.minute,p.second);
}
if(q.data!=0)
{
printf("\t%s\t%s\t%d\t",q.grade,q.name,q.data);
printf("%d—%d—%d\t",q.year,q.month,q.day);
printf("%s\t%d:%d:%d\n",q.week,q.hour,q.minute,q.second);
}
if(r.data!=0)
{
printf("\t%s\t%s\t%d\t",r.grade,r.name,r.data);
printf("%d—%d—%d\t",r.year,r.month,r.day);
printf("%s\t%d:%d:%d\n",r.week,r.hour,r.minute,r.second);
}
if(p.data==0)
printf("\t初级暂无最高分信息!\n");
if(q.data==0)
printf("\t中级暂无最高分信息!\n");
if(r.data==0)
printf("\t高级暂无最高分信息!\n");

//重置最佳排行榜
if(p.data!=0&&q.data!=0&&r.data!=0)
{
printf("\t是否重置最佳排行?\n");
printf("\t1:是\t2:否\t");
i=0;
scanf("%d",&i);
if(i==1)
{
p.data=0;
q.data=0;
r.data=0;
if((fp=fopen("tiptop1.txt","w"))==NULL)
{
printf("打开tiptop1.txt文件失败!");
exit(1);
}
fwrite(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop2.txt","w"))==NULL)
{
printf("打开tiptop2.txt文件失败!");
exit(1);
}
fwrite(&q,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop3.txt","w"))==NULL)
{
printf("打开tiptop3.txt文件失败!");
exit(1);
}
fwrite(&r,sizeof(struct tiptop),1,fp);
fclose(fp);
}
}
}
}

4.game.c
#include"record.h"

//全局变量
int *c1; //产生的数保存在指针c中
int A,B; // AB均为游戏重要参数
int N; //NUM为需要猜测的数据个数
int TIME; //TIME为猜数字共有的次数
long int S; //S为游戏积分
//****************
//开始游戏中心函数
//****************
void Game_main()
{
FILE *fp;
int time;
if((fp=fopen("C.txt","r"))==NULL)
{
printf("打开C.txt文件失败!");
printf("\n");
exit(1);
}
fread(&C,sizeof(int),1,fp);
N=C+2;
TIME=11-C;
if(C==1)
{
printf("\t游戏等级为:初级!\n");
}
if(C==2)
{
printf("\t游戏等级为:中级!\n");
}
if(C==3)
{
printf("\t游戏等级为:高级!\n");
}
printf("\t需要猜测的数字位数数为:%d,共有%d次猜测机会!",N,TIME);
printf("\n");
time=Time_command();
Game_result(time);
}
//********************
//获取系统随机数字函数
//********************
int *Build_number()
{
int i,j,m;
time_t t;
c1=(int *)malloc(N*sizeof(int));
if(c1==NULL)
{
printf("分配内存错误!\n");
printf("\n");
exit(1);
}
srand((unsigned) time(&t));
for(i=0;i<N;i++)
{
m=rand()%10; //产生一个数字
if(i==0)
*c1=m;
else
{
for(j=0;j<i;j++)
{
if(m==*(c1+j)//若原有数据之中已经有了与m相同的数字,则重新产生数字
{
i--;
break;
}
*(c1+i)=m;
}
}
}
printf("\t系统产生的数据为:");
for(i=0;i<N;i++)
printf("*");
printf("\n");
printf("\t您可以开始游戏! 计时开始...\n");
printf("\t不能有重复的数字!\n");
printf("\t数字中间用空格隔开\n");
return c1;
}
//****************************************
//获取游戏者游戏数据和输出游戏进程结果函数
//****************************************
void Game_in_out()
{
int i,j,m;
int n; //游戏者猜测的数字
int a[5]; //游戏者猜测的数据构成的数组
int c[5];
int *p;
p=Build_number();
for(i=0;i<N;i++)
{
c[i]=*(p+i);
}
for(m=0;m<TIME;m++)
{
if(m==(TIME-1))
{
printf("\t**请注意:**\n");
printf("\t**仅剩下一次机会了!**\n");
printf("\t**努力!加油!**\n");
}
printf("\t请输入第%d次猜测的数字:\t",m+1);
for(j=0;j<N;j++)
{
scanf("%d",&n);
a[j]=n;
}
A=0;
B=0;
for(i=0;i<N;i++)
{
if(a[i]==c[i])
A++;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(a[i]==c[j]&&i!=j)
B++;
}
}
printf("\t您本次猜测的结果为:\t");
printf("%d A %d B",A,B);
printf("\n");
//游戏成功控制退出猜测程序
if(A==N)
{
m=TIME;
}
}

//TIME改变,记录游戏总次数的数据
TIME=i;
free(c1);
}
//************
//时间控制函数
//************
int Time_command()
{
int a; //游戏时间
time_t first, second;
first=time(NULL); //获取系统时间
Game_in_out();
second=time(NULL); //再次获取系统时间
a=(int)difftime(second,first);
return a;
}
//********************
//游戏结果处理输出函数
//********************
void Game_result(int m)
{
FILE *fp;
tiptop p;
time_t t;
int S;
int n;
int i=0;
int minute,second;
if(A!=N)
{
S=0;
printf("\tGame over!\n");
printf("\t您本次游戏的积分为:\t%d",S);
printf("\t继续努力!\n");
printf("\t是否继续游戏?\n");
printf("\t1:是\t\t\t2:否");
printf("\n");
scanf("%d",&i);
if(i==1)
Game_main();
else
Menu_select();
}
else
{
printf("\t恭喜您游戏成功!");
printf("\n");
minute=m/60;
second=m%60;
printf("\t您本次游戏所用时间为:");
printf("%d分钟%d秒\n",minute,second);
printf("\n");

//积分
if(C==1)
{
n=11-TIME;
S=n*n*n*10-m;
}
if(C==2)
{
n=10-TIME;
S=n*n*n*n*10-m;
}
if(C==3)
{
n=9-TIME;
S=n*n*n*n*n*10-m;
}
if(S<10)
{
srand((unsigned) time(&t));
S=rand()%100;
}
printf("\t您本次游戏的积分为:\t%d",S);
printf("\n");
}
//判断是否符合最高分条件
if(C==1)
{
if((fp=fopen("tiptop1.txt","r"))==NULL)
{
printf("打开tiptop1.txt文件失败!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==2)
{
if((fp=fopen("tiptop2.txt","r"))==NULL)
{
printf("打开tiptop2.txt文件失败!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==3)
{
if((fp=fopen("tiptop3.txt","r"))==NULL)
{
printf("打开tiptop3.txt文件失败!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(S>=(p.data))
Tiptop_record(S);
//提示跳转
if(C==1)
{
printf("\t您本次游戏等级是初级,是否要进入中级?\n");
printf("\t1:是\t\t\t2:否");
printf("\n\t");
i=0;
scanf("%d",&i);
if(i==1)
{
C=2;
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打开C.txt文件失败!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
Game_main();
}
else
Menu_select();
}
if(C==2)
{
printf("\t您本次是中级游戏,是否要进入高级游戏呢?\n");
printf("\t1:是\t\t\t2:否");
printf("\n\t");
i=0;
scanf("%d",&i);
if(i==1)
{
C=3;
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打开C.txt文件失败!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
Game_main();
}
else
Menu_select();
}
}

5.record.c
#include"record.h"
//******
//主函数
//******
void main()
{
printf("\n");
printf("********************************************\n");
printf("********************************************\n");
printf(" 欢迎进入猜数字游戏 \n");
printf("\n");
printf("\t设计者: \n");
printf("********************************************\n");
printf("********************************************\n");
printf("\n");
Menu_select();
}
//************
//选择菜单函数
//************
void Menu_select()
{
while(1)
{
switch(manage_menu())
{
case 0:
printf("输入有误,请重新输入!\n");
break;
case 1:
Game_main();
break;
case 2:
Game_rank();
break;
case 3:
Tiptop_output();
break;
case 4:
Game_explain();
break;
case 5:
printf("\n");
printf("\n");
printf("*************** ** ** **** ** ** ** ** *** \n");
printf("*************** ** ** ** ** **** ** ** ** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");
printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");
printf(" ** *********** ************* ** ** ** **** ***** \n");
printf(" ** *********** ************* ** ** ** **** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** *** \n");
printf(" ** ** ** ** ** ** **** ** ** *** \n");
printf(" ** ** ** ** ** ** ** ** ** *** \n");
printf("\n");
printf("Goodbye!\n");
exit(1);
}
}
}
//************
//处理菜单函数
//************
int manage_menu()
{
int n;
printf("\t**************************\n");
printf("\t**\t1:开始游戏\t**\n");
printf("\t**\t2:等级设置\t**\n");
printf("\t**\t3:最佳排行\t**\n");
printf("\t**\t4:游戏说明\t**\n");
printf("\t**\t5:退出游戏\t**\n");
printf("\t**************************\n");
printf("\t请输入相应序号选择相应菜单:");
printf("\t");
scanf("%d",&n);
printf("\n");
if(n<1||n>5)
n=0;
return n;
}

㈤ C语言课程设计 编程实现简单通讯录程序

下面这个你可以参考下

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
usingnamespacestd;

#definemaxlen15
structpersons
{
intnum;
charname[20];
chare_addr[20];
chartel_no[15];
charsim_no;
chararch;
}persons[maxlen];

typedefstructlnode{
intnum;
charname[20];
chare_addr[20];
chartel_no[15];
charsim_no;
chararch;
structlnode*next;
}listnode,*linklist;

linklisthead=NULL,r=NULL;
listnode*s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9;
inti;
charname1[10],ch;chartel_no1[15];chararch1;charsim_no1;chare_addr1[20];
chars1[20];
FILE*fp;

voidcreat()
{
intj;
longk;
fp=fopen("数据文件.txt","rt");
if(fp!=NULL)
{for(i=0;i<=maxlen;i++)
{j=fgetc(fp);
if(j==EOF)
return;
k=i;
fseek(fp,k*sizeof(structpersons),0);
fread(&persons[i],sizeof(structpersons),1,fp);

s=(linklist)malloc(sizeof(listnode));
s->num=persons[i].num;
strcpy(s->name,persons[i].name);
strcpy(s->e_addr,persons[i].e_addr);
strcpy(s->tel_no,persons[i].tel_no);
s->sim_no=persons[i].sim_no;
s->arch=persons[i].arch;
if(head==NULL)
{head=s;r=head;head->next=NULL;}
else
{r->next=s;
r=s;r->next=NULL;
}}fclose(fp);}
else
{fp=fopen("数据文件.txt","w");
i=1;
}
}
voidShowA()
{p1=head;

while(p1!=NULL)
{if(p1->arch=='A')
{
cout<<endl;
cout<<p1->name<<endl;
cout<<p1->tel_no<<endl;
cout<<p1->sim_no<<endl;}
p1=p1->next;continue;}
}
voidShowB()
{p1=head;

while(p1!=NULL)
{if(p1->arch=='B')
{
cout<<endl;
cout<<p1->name<<endl;
cout<<p1->tel_no<<endl;
cout<<p1->sim_no<<endl;}
p1=p1->next;continue;}
}
voidShowC()
{p1=head;

while(p1!=NULL)
{if(p1->arch=='C')
{
cout<<endl;
cout<<p1->name<<endl;
cout<<p1->tel_no<<endl;
cout<<p1->sim_no<<endl;}
p1=p1->next;continue;}
}
voidShow()
{charch1;
printf("Whicharchdoyouwanttoshow? ");
cout<<"A:同学同事"<<"B:家人"<<"C:其他"<<endl;
cout<<"请选择:"<<endl;
cin>>ch1;
switch(ch1)
{case'A':ShowA();break;
case'B':ShowB();break;
case'C':ShowC();break;
default:cout<<"error"<<endl;
}
}

voidDelete()
{printf(" 请输入要删除用户的姓名:");

cin>>name1;
p4=head;
if(strcmp(p4->name,name1)==0)
{p4=p4->next;
head=p4;
}
else
{while(strcmp(p4->next->name,name1)!=0)
p4=p4->next;
p5=p4->next;
p4->next=p5->next;
free(p5);
}
}
voidInput()
{s=(linklist)malloc(sizeof(listnode));

printf(" 请输入该用户的信息:");

cout<<"name:";
cin>>s->name;
cout<<"tel_no:";
cin>>s->tel_no;
cout<<"sim_no:";
cin>>s->sim_no;
cout<<"e_addr:";
cin>>s->e_addr;
cout<<"arch:";
cin>>s->arch;

if(head==NULL)printf(" ");
else
{p8=head;
while(p8!=NULL&&strcmp(s->name,p8->name)!=0&&strcmp(s->tel_no,p8->tel_no)!=0)
p8=p8->next;
if(p8!=NULL)
{printf("您添加的用户已存在!");
free(s);}}

if(head==NULL)
{head=s;head->next=NULL;}
else
{r->next=s;
r=s;r->next=NULL;}
}

voidAlter()
{

printf(" 请输入姓名:");

cin>>name1;
p3=head;
while(p3!=NULL&&strcmp(name1,p3->name)!=0)
p3=p3->next;
if(p3==NULL)
printf(" 您选择的用户不存在!");
else
{printf(" 请输入该用户的新信息!");

cout<<"name:";
cin>>name1;
cout<<"tel_no:";
cin>>tel_no1;
cout<<"e_addr:";
cin>>e_addr1;
cout<<"sim_no:";
cin>>sim_no1;
cout<<"arch:";
cin>>arch1;
while(p9!=NULL&&strcmp(name1,p9->name)!=0&&strcmp(tel_no1,p9->tel_no)!=0)
p9=p9->next;
if(p9==NULL)
{strcpy(p3->name,name1);
strcpy(p3->tel_no,tel_no1);
strcpy(p3->e_addr,e_addr1);
p3->sim_no=sim_no1;
p3->arch=arch1;
}
else
printf("您添加的用户已存在!");

}
}
voidDial()
{inta;charb;
cout<<"1.拨叫用户:"<<endl;
cout<<"2.使用单键拨号:"<<endl;
cin>>a;
p0=head;
if(a==1)
{cout<<"请输入拨叫用户的姓名:";
cin>>name1;
while(strcmp(name1,p0->name)!=0&&p0!=NULL)
p0=p0->next;
if(p0==NULL)
cout<<"您选择的用户不存在!";
else
/*for(c=0;c<15;c++)
{cout<<endl;
cout<<(*p0).tel_no[c];}*/
{cout<<endl;
cout<<p0->tel_no;
cout<<endl;}
}
else
{cout<<"请输入单键号码:";
cin>>b;
while(p0!=NULL&&b!=p0->sim_no)
p0=p0->next;
if(p0==NULL)
cout<<"您输入的单键号码不存在!";
else
{cout<<endl;
cout<<p0->name<<endl;
cout<<p0->tel_no;
cout<<endl;}
}
}

voidSave()
{intj;
fp=fopen("数据文件.txt","w");
for(p2=head,j=0;p2!=NULL;j++,p2=p2->next)
{
strcpy(persons[j].name,p2->name);
strcpy(persons[j].tel_no,p2->tel_no);
persons[j].sim_no=p2->sim_no;
strcpy(persons[j].e_addr,p2->e_addr);
persons[j].arch=p2->arch;
fwrite(&persons[j],sizeof(structpersons),1,fp);
}
}

voidmain()
{creat();
do
{
printf("**********************************************************");
printf(" 欢迎来到通讯录!");
printf(" 请选择操作:");
printf(" 1.显示通讯录");
printf(" 2.删除通讯录");

printf(" 3.添加通讯录");
printf(" 4.编辑通讯录");
printf(" 5.拨号功能");
printf(" 6.保存刚才的操作并退出 ");
printf("**********************************************************");
printf(" ");
printf(" 选择您想要的操作:");
cin>>ch;
switch(ch)
{case'1':Show();
break;
case'2':Delete();
break;
case'3':Input();
break;
case'4':Alter();
break;
case'5':Dial();
break;
case'6':Save();
fclose(fp);
exit(0);
break;
default:
printf(" ********************************* ");
printf(" Thenumshould1-6!!! ");
printf(" **********************************");
break;
}
}while(1);
}

㈥ c语言课程报告设计

一 引言
人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治、经济、军事、文化等领域产生越来越深刻的影响,也正在改变人们的工作、生活学习、交流方式。信息的获取、处理、交流和应用能力,已经成为人们最重要的能力之一。 在不久的将来知识经济将占世界经济发展的主导地位,国家综合国力和国际竞争能力越来越取决于教育发展、科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用。学生成绩管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。
1 系统的需求分析
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
管理信息系统是进行信息的采集、存储、加工、维护和使用的系统[1,2],它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
另外,随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生各门课程的成绩的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发学生成绩管理系统。
2 设计系统的意义
在学生成绩的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
作为计算机应用的一部分,使用计算机对学生成绩管理系统进行信息管理,有着手工管理所无法比拟的优点,这些优点能够极大地提高学生成绩系统管理的效率,也是学校的科学化、正规化管理重要条件。

二 系统总体设计
1 系统设计方案
通过本课程设计可以在复习、巩固C语言的基础知识的同时,进一步加深对C语言的理解和掌握。主要运用C语言中的结构体、数组、链表、文件等数据结构进行设计一个简单的管理系统应用程序,使程序具有数据录入、查询、删除、显示等基本功能。主要的设计思想是通过编写各种不同类型的函数模块来实现该系统的不同功能,还采用创建结构体类型来见不同的数据类型组合成一个有机的整体。
2 函数实现说明:
(1) luru( )函数:
该函数主要用于数据的输入和添加,将各个学生的成绩信息准确录入到系统中为后面的操作提供基础数据,以供学生查询。
(2) display( )函数:
该函数是一个显示函数。它通过for语句的运用,将所有已输入的学生成绩信息清楚的显示在眼前,使我们对学生成绩一目了然。
(3) paixu( )函数:
该函数构成了一个排序模块,它实现了学生成绩的排序。该函数定义的变量虽少,但通过文件的连接和if循环语句的使用[1],该功能完整的显现出来了,仍然使用for语句,实现了目标。
(4) del( )函数:
该函数实现的是删除功能。该函数虽然定义的变量不多,但通过if语句和scanf语句的使用,对文件进行了读取和运用,简便的删除所选的目标。
(5) chaxun1( )和chaxun2( )函数:
该函数都是通过if和for语句实现不同的查询功能,前者是根据学号查询,后者是根据姓名查询。
(6) main()函数:
一个程序主函数不能少。当以上的函数均编完之后,要实现各个功能操作的连接,还必须有主函数将它们联系起来,这样才能达到理想的结果。对以上函数的连接,此程序采用了switch语句,格式清晰、容易接受。至此学生成绩管理的基本功能便基本实
3 系统总体设计框图

图1 系统总体设计框图

3系统总体设计流程图

图2 系统总体设计流程图

三 详细设计
1 录入函数

图3 录入函数设计流程图

2 显示函数

图4 显示函数设计流程图

3 排序函数

图5 排序函数设计流程图
4 按照学号查询

图6 学号查询函数设计流程图

5 按照姓名查询

图7 姓名查询函数设计流程图

四 总结
经历了这次学生成绩管理程序的编辑之后,我们发现编程初看起来似乎是一件很枯燥、乏味的事情,但是其实里面还是充满乐趣的。虽然本程序运用的函数不多,再编写过程中也出现这样那样的错误,这一切的一切无疑地说明我是多么粗心,自己还有很多要学的东西。编程尤其是调试,是一项细致深入的工作,需要下工夫、动脑子、善于积累经验,这往往能反映出一个人的水平、经验和科学态度。我在编写系统过程中曾经出现系统报错但就是找不到原因在哪儿,最后咨询老师才知道原来区分全角半角的。另外,编译、连接的成功并不意味着程序的最终成功。逻辑上的错误机器不易检查出来,这时需要对数据结果进行分析。这种错误的查找是最难的,需要编程序的人有相当的耐心和细心去把问题找出来。这也是本次程序编辑过程中碰到的最大的难题。
不过值得高兴的是最后还是完成任务,虽然这个系统还不算好,还有很多功能不能实现,但能在能有这样的成果我很欣慰。在编写程序的过程中,我们得到了老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!

参考文献
[1]谭浩强,张基温.C语言程序设计教程[M].第3版.高等教育出版社,2006
[2] 袁志祥,秦锋主.数据结构(C语言版)例题详解与课程设计指导.第二版.中国科学技术大学出版社出版.112

附录
……
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct score /*各科成绩*/
{
float s;
};

struct student /*学生数据*/
{
int num;
struct score f[9];
char name[20];
float ave;
float sum;
};
int i=0; /*统计个数*/
struct student stu[99];
void luru(struct student a[] ); /*录入函数*/
void paixu(struct student a[]); /*排序函数*/
void del(struct student a[]); /*删除函数*/
void display(struct student a[]); /*显示函数*/
void cprint(struct student a[],int m); /*查询输出函数*/
void chaxun1(struct student a[]); /*学号查询函数*/
void chaxun2(struct student a[]); /*姓名查询函数*/
void main()
{ int number;
printf("\n\n");
printf(" 欢迎使用学生成绩管理系统 \n");
printf("-------------------------------------------------------------\n\n");

printf(" ****************** 学生成绩管理系统 ****************** \n\n\n");
printf("1.录入新学生成绩数据 ");
printf("2.显示学生成绩数据\n\n");
printf("3.按总成绩排序 ");
printf("4.删除学生成绩数据\n\n");
printf("5.按学生学号查询 ");
printf("6.按学生姓名查询\n\n");
printf("7.退出\n\n\n");
printf("\t\t\t请输入功能选择编号(1-7):\n");

printf("**************************************************************\n");

do
{
scanf("%d",&number);
printf("--------------------------------------------------------------\n");
switch (number)
{
case 1:luru(stu);break; /*录入新学生成绩数据*/
case 2:display(stu);break; /*显示学生成绩数据*/
case 3:paixu(stu);break; /*按总成绩排序*/
case 4:del(stu);break; /*删除学生成绩数据*/
case 5:chaxun1(stu);break; /*按学生学号查询*/
case 6:chaxun2(stu);break; /*按学生姓名查询*/
case 7:break; /*退出*/
}
}while(number!=7);
printf("--------------------------------------------------------------\n");
printf(" 谢谢使用! ");
}
void luru(struct student a[]) /*录入函数*/
{
int m;
int k;
char b;
float sum=0;

printf("请输入科目数(最多6科):");
scanf("%d",&m);
printf("请输入学生信息\n");
do
{
printf("学号:");
scanf("%d",&a[i].num);
printf("姓名:");
scanf("%s",a[i].name);
for(k=0;k<m;k++)
{
printf("请输入第%d科目成绩:",k+1);
float temp;
scanf("%f",&temp);
a[i].f[k].s = temp;
}
/*计算总分*/
a[i].sum=0;
for(k=0;k<m;k++)
{
a[i].sum=a[i].sum+a[i].f[k].s;
}
/*计算平均分*/
a[i].ave=0;
a[i].ave=a[i].sum/m;
i++;
printf("是否继续录入学生数据?\n(Y/N)");
fflush(stdin); /*刷新标准输入缓冲区*/
scanf("%c",&b);
}while(b=='Y'||b=='y');
display(a);
}

void display(struct student a[]) /*显示函数*/
{
int k,m;
system("cls"); /*清屏*/
printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");
printf("\n------------------------------------------------------------------------------\n\n");
for(k=0;k<i;k++)
{
printf("%d\t%s\t",a[k].num,a[k].name);
for(m=0;m<6;m++)
{
printf("%.2f\t",a[k].f[m].s);
}
printf("%.2f\t%.2f\n",a[k].sum,a[k].ave);
}
printf("\n------------------------------------------------------------------------\n\n");
printf("请选择功能:\n1.录入\t2.显示\t3.排序\t4.删除\t5.学号查询\t6.姓名查询\t7.退出\n\n");
}

void paixu(struct student a[]) /*排序函数*/
{
int j,k;
struct student temp;
for(k=0;k<i;k++)
{
for(j=0;j<i-k;j++)
{
if(a[j].ave<a[j+1].ave)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("按总分排升序后的学生数据如下\n");
display(a);
}

void del(struct student a[]) /*删除函数*/
{
int k,j;
printf("请输入要删除的学生学号:");
scanf("%d",&k);
for(j=0;j<i;j++)
{
if(k==a[j].num) /*记录要删除的学生的位置*/
{
break;
}
}

if (j<i)
{
for(;j<i;j++)
{
a[j]=a[j+1];
}
i--;
printf("删除后的学生数据\n");
display(a);
}
else
{
printf("\n\t\t没有您要删除的学生数据\n\n");
printf("\n请选择功能:\n1.录入\t2.显示\t3.排序\t4.删除\t5.学号查询6.姓名查询\t7.退出\n\n");
}
}

void cprint(struct student a[],int m)/*查询输出函数*/
{
int o;
system("cls"); /*清屏*/
printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");
printf("\n------------------------------------------------------------------------------\n\n");
printf("%d\t%s\t",a[m].num,a[m].name);
for(o=0;o<6;o++)
{
printf("%.2f\t",a[m].f[o].s);
}
printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);
printf("\n------------------------------------------------------------------------------\n\n");
printf("\n请选择功能:\n1.录入\t2.显示\t3.排序\t4.删除\t5.学号查询\t6.姓名查询\t7.退出\n\n");
}

void chaxun1(struct student a[])/*学号查询函数*/
{
int m,t;
printf("请输入要查询的学号:");
scanf("%d",&t);
for(m=0;m<=i;m++)
{

if(a[m].num==t)
{
cprint(a,m);
break;

}
if(m==i&&a[m].num!=t)
{
system("cls"); /*清屏*/
printf("\n\t\t没有查到您要找的学生资料\n");
printf("\n--------------------------------------------------------------------------------\n");
printf("\n请选择功能:\n1.录入\t2.显示\t3.排序\t4.删除\t5.学号查询\t6.姓名查询\t7.退出\n\n");
}
}
}

void chaxun2(struct student a[]) /*姓名查询函数*/
{
int m;
char t[20];
printf("请输入要查询的姓名:");
scanf("%s",t);
for(m=0;m<=i;m++)
{

if(strcmp(a[m].name,t)==0)
{
cprint(a,m);
break;

}
if(m==i&&(strcmp(a[m].name,t)!=0))
{
system("cls"); /*清屏*/
printf("\n\t\t没有查到您要找的学生资料\n");
printf("\n--------------------------------------------------------------------------------\n");
printf("\n请选择功能:\n1.录入\t2.显示\t3.排序\t4.删除\t5.学号查询\t6姓名查询\t7.退出\n\n");
}
}
}

㈦ C语言课程设计 简单的.....

Answer To Question 1 & 2 :

充分利用ISO组织于1999年通过的C语言国际标准中的库函数即可实现第一题。利用简单的双重循环即可解决问题二,用递归算法不是好的选择。

第一题完整源码
(注意:本源码中,函数GetWeekDay的返回值仅仅表示输入参数是否“正确/有效”(例如前三个参数使用2001,2,29就是无效参数),能否得到预期的星期值;真正的星期值则是通过输出变量返回给主调函数的。)
////////////////////////////////////////////
#include <time.h>
#include <stdio.h>

int GetWeekDay(int nYear,int nMon,int nDay, int *npWeekDay);

int main()
{
int nMyWeekDay;
int nResult;

nResult = GetWeekDay(2007,1,10,&nMyWeekDay);

return 0;
}

//输入日期,返回星期的C语言函数
int GetWeekDay(int nYear,int nMon,int nDay, int *npWeekDay)
{
int nRetVal = 0;
time_t tMyDateTime;
struct tm tmMyDate,*tmpMyDate;

if((nYear<1900||nYear>=3000)
|| (nMon<1 || nMon>12)
|| (nDay<1||nDay>31) )
{
nRetVal = 1;
*npWeekDay = -1;
return nRetVal;
}
//memset(tmMyDate,0,sizeof(struct tm));
tmMyDate.tm_year = nYear-1900;
tmMyDate.tm_mon = nMon-1;
tmMyDate.tm_mday = nDay;
tmMyDate.tm_hour =16;
tmMyDate.tm_min =30;
tmMyDate.tm_sec =30;

tMyDateTime = mktime(&tmMyDate);
if(tMyDateTime<0)
{
nRetVal = 1;
*npWeekDay = -1;
return nRetVal;
}
tmpMyDate = localtime(&tMyDateTime);
*npWeekDay = tmpMyDate->tm_wday;
return nRetVal;
}
//Over

////////////////////////////////////////////////////
第二题:
#include <time.h>
#include <stdio.h>

int Sum(int n, int a);

int main()
{

//出题者可以自己将此处改为要求操作人键入N/A的值
int n=5,a=2,s;

s = Sum(n,a);

return 0;
}

//解决问题的函数
int Sum(int n, int a)
{
int nSum =0;
int nTmp;
int i,j;

for(i=1;i<=n; i++)
{
nTmp =a;
for(j=1;j<=i;j++)
{
nTmp += a*10*(j-1);
}
nSum += nTmp;
}
return nSum;
}

㈧ 急求一个c语言课程设计!!越快越好!

大哥啊,这个东西给你做了要用好多时间噢。虽然悬赏分比较高,但是…恐怕没人给你答案噢。自己努力…

热点内容
apache禁止访问文件 发布:2025-01-15 14:01:55 浏览:440
速腾哪个配置动力最好 发布:2025-01-15 13:56:44 浏览:902
编程做转盘 发布:2025-01-15 13:56:04 浏览:193
安卓辅助脚本如何写 发布:2025-01-15 13:42:50 浏览:123
压缩裤的穿法 发布:2025-01-15 13:39:24 浏览:314
支付宝如何设支付密码 发布:2025-01-15 13:39:24 浏览:257
ea编程入门 发布:2025-01-15 13:30:11 浏览:413
应缴费档次配置异常怎么回事 发布:2025-01-15 13:20:34 浏览:617
成都php招聘 发布:2025-01-15 13:12:16 浏览:382
怎么调用服务器数据库 发布:2025-01-15 13:06:25 浏览:657