c语言函数的绘制课程设计 c语言课程设计概述
C语言课程设计:编写一个函数,判断一个整数是不是4位数,再利用该函数编程,如果是4位数,则输出是四
#include stdio.h
创新互联建站2013年开创至今,先为大英等服务建站,大英等地企业,进行企业商务咨询服务。为大英企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
int is_four_digit(int value)
{
return ((value = 1000 value = 9999) || (value = -9999 value = -1000));
}
int main()
{
if (is_four_digit(1000)) {
printf("是四位数\n");
} else {
printf("不是四位数\n");
}
return 0;
}
谁可以帮我做一个C语言课程设计啊,要求一个主函数含三个简单的程序
要做什么课设啊?
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define M 10
int num; //计数
struct student
{
char xuehao[10]; //学号
char name[10]; //姓名
char sex[8]; //性别
char birth[20]; //出生年月
char jiguan[30]; //籍贯
char tel[30]; //电话
int score; //成绩
}student[M];
char headline[80]; //全局变量
void read1()
{
FILE *fp; //文件指针
int i=0;
fp=fopen("jz0112.txt","r"); //打开文件
if(fp==NULL)
{
printf("不能找到文件,请检查!\n");
return;
}
fgets(headline,80,fp); //读第一行的函数
puts(headline);
while(!feof(fp)) //判断文件是否结束
//for(i=0;iM;i++)
{
fscanf(fp,"%s%s%s%s%s%s%d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
i++; //fscanf读两个空白字符之间的字符
}
num=i;
fclose(fp); //关闭文件
for(i=0;inum;i++)
printf("%-10s%-8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
void find_xuehao() //按学号查询
{
char xuehao[10];
int i;
int flag=0;
printf("请输入学号:");
scanf("%s",xuehao);
for(i=0;inum;i++)
if(strcmp(xuehao,student[i].xuehao)==0)
{
flag=1;
printf("%-10s%-8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
break;
}
if(flag==0)
printf("\n无此信息\n");
}
void find_name() //按姓名查询
{
char name[8];
int i;
int flag=0;
printf("请输入姓名:");
scanf("%s",name);
for(i=0;inum;i++)
if(strcmp(name,student[i].name)==0)
{
flag=1;
printf("%-10s%-8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
break;
}
if(flag==0)
printf("\n无此信息\n");
}
void all() //显示全部
{
int i;
for(i=0;iM;i++)
{
printf("%-10s%-8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
}
void find()
{
int b;
printf("\n*************************************************************************\n");
printf(" 1 按学号查询 2按姓名查询 3显示全部 4退出 \n");
printf("\n*************************************************************************\n");
printf("请选择:");
scanf("%d",b);
switch(b)
{
case 1:find_xuehao();break;
case 2:find_name();break;
case 3:all();break;
case 4:return;
}
}
void sort_name() //按姓名排序
{
char name[M][12],t[12];
int i,j;
for(i=0;iM;i++)
strcpy(name[i],student[i].name);
for(j=1;jM-1;j++)
for(i=0;iM-j;i++)
if(strcmp(name[i],name[i+1])0)
{
strcpy(t,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],t);
}
for(i=0;iM;i++)
for(j=0;jM;j++)
if(strcmp(name[i],student[j].name)==0)
printf("%-10s%-8s%6s%16s%16s%16s%6d\n",student[j].xuehao,student[j].name,student[j].sex,
student[j].birth,student[j].jiguan,student[j].tel,student[j].score);
}
void sort_score() //按分数排序
{
int i,j,t,a[M];
for(i=0;iM;i++)
a[i]=student[i].score;
for(j=1;jM-1;j++)
for(i=0;iM-j;i++)
if(a[i]a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;iM;i++)
for(j=0;jM;j++)
if(a[i]==student[j].score)
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[j].xuehao,student[j].name,student[j].sex,
student[j].birth,student[j].jiguan,student[j].tel,student[j].score);
}
void sort() //排序
{
int b;
printf("\n*************************************************************************\n");
printf(" 1 按姓名排序 2 按分数排序 3 退出 \n");
printf("\n*************************************************************************\n");
printf("请选择:");
scanf("%d",b);
switch(b)
{
case 1:sort_name();break;
case 2:sort_score();break;
case 3:return;
}
}
void add() //添加
{
int i;
int flag=0;
char add[10];
printf("请输入你要修改的学生的学号:");
scanf("%s",add);
for(i=0;inum;i++)
if(strcmp(student[i].xuehao,add)==0)
{
flag=1;
printf("此信息已存在,不能添加!\n");
printf("%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);break;
}
if(flag==0)
{
printf("\n无此学生信息,请添加信息:");
scanf("%s%s%s%s%s%s%d",student[num].xuehao,student[num].name,student[num].sex,
student[num].birth,student[num].jiguan,student[num].tel,student[num].score);
num++;
for(i=0;inum;i++)
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
}
void Delete_name() //按姓名删除
{
int i;
int flag=0;
char name[10];
printf("请输入要删除的姓名:");
scanf("%s",name);
for(i=0;inum;i++)
if(strcmp(student[i].name,name)==0)
{
flag=1;
for(;inum-1;i++)
student[i]=student[i+1];
printf("此信息存在,将被删除。\n");
}
for(i=0;inum-1;i++)
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
if(flag==0)
{
printf("\n无此学生信息,请确认!\n");
}
}
void Delete_xuehao() //按学号删除
{
int i;
int flag=0;
char xuehao[10];
printf("请输入要删除的学号:");
scanf("%s",xuehao);
for(i=0;inum;i++)
if(strcmp(student[i].xuehao,xuehao)==0)
{
flag=1;
for(;inum-1;i++)
student[i]=student[i+1];
printf("此信息存在,将被删除。\n");
}
for(i=0;inum-1;i++)
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
if(flag==0)
{
printf("\n无此学生信息,请确认!\n");
}
}
void Delete() //删除
{
int b;
printf("\n*************************************************************************\n");
printf(" 1 按姓名删除 2 按学号删除 3 退出 \n");
printf("\n*************************************************************************\n");
printf("请选择:");
scanf("%d",b);
switch(b)
{
case 1:Delete_name();break;
case 2:Delete_xuehao();break;
case 3:return;
}
}
void modify() //修改
{
int i;
int flag=0;
char modify[10];
printf("请输入你要修改的学生的学号:");
scanf("%s",modify);
for(i=0;inum;i++)
if(strcmp(student[i].xuehao,modify)==0)
{
flag=1;
printf("学号 姓名 性别 出生年月 籍贯 电话 成绩\n");
printf("%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);break;
}
if(flag==0)
{
printf("\n无此学生信息\n");
return;
}
printf("\n要修改学生的姓名:\n");
printf("student[i].name=");
scanf("%s",student[i].name);
printf("\n要修改学生的性别:\n");
printf("student[i].sex=");
scanf("%s",student[i].sex);
printf("\n要修改学生的出生年月:\n");
printf("student[i].birth=");
scanf("%s",student[i].birth);
printf("\n要修改学生的籍贯:\n");
printf("student[i].jiguan=");
scanf("%s",student[i].jiguan);
printf("\n要修改学生的电话:\n");
printf("student[i].tel=");
scanf("%s",student[i].tel);
printf("\n要修改学生的成绩:\n");
printf("student[i].score=");
scanf("%d",student[i].score);
for(i=0;inum;i++)
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
void classify_male() //按男分类
{
int i;
FILE *fp;
fp=fopen ("male.txt","w");
if (fp==NULL)
{
printf("不能找到文件,请检查!");
return ;
}
fputs(headline,fp);
for(i=0;inum;i++)
{
if(strcmp(student[i].sex,"男")==0)
{
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
fprintf(fp,"\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
}
fclose(fp);
}
void classify_female() //按女分类
{
int i;
FILE *fp1;
fp1=fopen("female.txt","w");
if (fp1==NULL)
{
printf("不能找到文件,请检查!");
return;
}
fputs(headline,fp1);
for(i=0;inum;i++)
{
if(strcmp(student[i].sex,"女")==0)
{
printf("\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
fprintf(fp1,"\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,student[i].sex,
student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
}
}
fclose(fp1);
}
void classify() //分类
{
int b;
printf("\n*************************************************************************\n");
printf(" 1 按男分类 2 按女分类 3 退出 \n");
printf("\n*************************************************************************\n");
printf("请选择:");
scanf("%d",b);
switch(b)
{
case 1:classify_male();break;
case 2:classify_female();break;
case 3:return;
}
}
void write() //写函数,将输出函数写入文本文件
{
FILE *fp;
int i=0;
fp=fopen("jz0112gyq.txt","w");
if(fp==NULL)
{
printf("不能找到文件,请检查!\n");
return;
}
fputs(headline,fp);
for(i=0;inum;i++)
fprintf(fp,"\n%-10s%-8s%6s%14s%16s%16s%6d",student[i].xuehao,student[i].name,
student[i].sex,student[i].birth,student[i].jiguan,student[i].tel,student[i].score);
fclose(fp);
}
void main()
{
int i;
read1();
while(1)
{
printf("\n**************简易学生信息管理系统的设计**************\n");
printf("1 查询 2 排序 3 添加\n");
printf("4 删除 5 修改 6 分类\n");
printf(" 0 退出 \n");
printf("\n******************************************************\n");
printf("请选择:");
scanf("%d",i);
switch(i)
{
case 1:find();break;
case 2:sort();break;
case 3:add();write();break;
case 4:Delete();write();break;
case 5:modify();write();break;
case 6:classify();break;
case 0:return;
}
}
}
这是我的课设程序。简易学生信息管理系统。
请用C语言完成课程设计拜托了各位 谢谢
#include stdio.h #include stdlib.h #include string.h struct student { char name[60]; char ID[7]; int score; }; int dq(struct student st[]); void xianshi(); void bc(struct student st[]); void add(); void select(); void zz(); void chazhao(); void xhcz(); void xmcz(); void del(); void xmsc(); void xhsc(); void tj(); void px(); void bjg(); void xg(); void xhxg(); void xmxg(); void bca(); void fh(); struct student st[300]; //这个数组用来保存所有的学生信息 和文件里面的一致 int Number=0; //记录总的学生人数 也就是数组/文件里面的学生人数 void main() { int choose=0; FILE *fp=NULL; char yesorno; if((fp=fopen("C://student.dat","rb"))==NULL) { printf("\n=========提示:文件不存在,是否要创建一个?(y/n)\n"); scanf("%c",yesorno); if(yesorno=='y'||yesorno=='Y') { //这里仅为了建立文件 fp=fopen("C://student.dat","wb"); fclose(fp); } else exit(0); } else { Number=dq(st); //要是文件只能够已经有数据 将数据初始化到数组中 } system("cls"); while(true) { xianshi(); printf("\t\t====请选择:"); scanf("%d",choose); system("cls"); switch(choose) { case 0: exit(0); //退出 break; case 1: add(); fh();//增加学生成绩 break; case 2: select(); fh();//查看学生成绩 break; case 3: chazhao(); fh();// 查找 break; case 4: del(); fh();//删除 break; case 5: tj(); fh();//统计 break; case 6: px(); fh();//排序 break; case 7: bjg(); fh();//输出不及格 break; case 8: xg(); fh();//修改 break; case 9:zz(); fh();//作者 break; case 10:bca(); fh();//保存 break; default: break; } fflush(stdin); getchar(); system("cls"); } } void bca() { printf("\t=====程序在运行时已自动保存.....\n"); } void fh() { printf("\t===按Enter键返回主菜单\n"); } void xg() //修改学生信息 { int way=0; printf("请选择修改查找方式\n"); printf("1 按姓名查找修改\n"); printf("2 按学号查找修改\n"); scanf("%d",way); switch(way) { case 1: xmxg(); break; case 2: xhxg(); break; default: printf("输入有误,结束!\n"); break; } } //按姓名修改 void xmxg() { FILE *fp=NULL; char name[60]; int i=0; int changeIndex=0; int index=0; printf("请输入要修改的学生姓名:"); scanf("%s",name); for (i=0;iNumber;i++) { if (strcmp(name,st[i].name)) { changeIndex=i; //保存要修改的人的下标 } break; } printf("\t姓名\t学号\t成绩\n"); printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score); printf("请重新输入该学生信息"); printf("姓名:"); scanf("%s",st[changeIndex].name); printf("学号:"); scanf("%s",st[changeIndex].ID); printf("成绩:"); scanf("%d",st[changeIndex].score); //信息修改后重新更新文件里面的数据 以保持数据一致性 fp=fopen("C://student.dat","wb"); for (i=0;iNumber;i++) { fwrite(st[i],sizeof(struct student),1,fp); } fclose(fp); } void xhxg()//按学号修改 { FILE *fp=NULL; char id[60]; int i=0; int changeIndex=0; int index=0; printf("请输入要修改的学生学号:"); scanf("%s",id); for (i=0;iNumber;i++) { if (strcmp(id,st[i].ID)) { changeIndex=i; //保存要修改的人的下标 } break; } printf("\t姓名\t学号\t成绩\n"); printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score); printf("请重新输入该学生信息"); printf("姓名:"); scanf("%s",st[changeIndex].name); printf("学号:"); scanf("%s",st[changeIndex].ID); printf("成绩:"); scanf("%d",st[changeIndex].score); //信息修改后重新更新文件里面的数据 以保持数据一致性 fp=fopen("C://student.dat","wb"); for (i=0;iNumber;i++) { fwrite(st[i],sizeof(struct student),1,fp); } fclose(fp); printf("\t=======修改成功\n"); } void bjg() //输出不及格人数 { int i=0; printf("以下是不及格:\n"); printf("\t姓名\t学号\t成绩\n"); for (i=0;iNumber;i++) { if (st[i].score60) { printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } } } void px()//排序 { struct student temp; int wantNUmber=0; int i=0; int j=0; for(i=0;iNumber-1;i++) { for(j=i;jNumber-1;j++) { if(st[j].scorest[j+1].score) { temp=st[j]; st[j]=st[j+1]; st[j+1]=temp; } } } printf("你想输出前几名的成绩:"); scanf("%d",wantNUmber); if (wantNUmberNumber) { wantNUmber=Number; } printf("\t姓名\t学号\t成绩\n"); for(i=0;iwantNUmber;i++) { printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } } void tj()//统计 { int i=0; double sum=0.0; for(i=0;iNumber;i++) { sum+=st[i].score; } printf("全班总分为:%f\n",sum); printf("平均分为:%f\n",sum/Number); } void del()//删除 { int n=0; printf("1 按姓名删除\n"); printf("2 按学号删除\n"); scanf("%d",n); switch(n) { case 1: xmsc(); break; case 2: xhsc(); break; } } void xmsc()//按姓名删除 { FILE *fp=NULL; char name[60]; int i=0; int j=0; printf("请输入要删除的学生姓名:"); scanf("%s",name); for(i=0;iNumber;i++) { if (strcmp(name,st[i].name)==0) //如果查找到就删除 { for (j=i;jNumber-1;j++) { st[j]=st[j+1]; } Number--; } } //将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了 fp=fopen("C://student.dat","wb"); for (i=0;iNumber;i++) { fwrite(st[i],sizeof(struct student),1,fp); } fclose(fp); printf("删除成功;\n"); } void xhsc()//按学号删除 { FILE *fp=NULL; char id[60]; int i=0; int j=0; printf("请输入要删除的学生学号:"); scanf("%s",id); for(i=0;iNumber;i++) { if (strcmp(id,st[i].ID)==0) //如果查找到就删除 { for (j=i;jNumber-1;j++) { st[j]=st[j+1]; } Number--; } } //将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了 fp=fopen("C://student.dat","wb"); for (i=0;iNumber;i++) { fwrite(st[i],sizeof(struct student),1,fp); } fclose(fp); printf("删除成功;\n"); } void chazhao()//查找学生 { int n=0; printf("1 按姓名查找\n"); printf("2 按学号查找\n"); scanf("%d",n); switch(n) { case 1: xmcz(); break; case 2: xhcz(); break; default: printf("输入有误,结束!\n"); break; } } void xhcz()//按学号查找 { char id[7]; int i=0; printf("请输入要查找学生学号:"); scanf("%s",id); system("cls"); printf("\t姓名\t学号\t成绩\n"); for (i=0;iNumber;i++) { if (strcmp(id,st[i].ID)==0) { printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } } } void xmcz()//按姓名查找 { char name[7]; int i=0; printf("请输入要查找学生姓名:"); scanf("%s",name); system("cls"); printf("\t姓名\t学号\t成绩\n"); for (i=0;iNumber;i++) { if (strcmp(name,st[i].name)==0) { printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } } } void zz() { printf("\t**********************************************************\n\n"); printf("\t^^^^^^^^^^ 武汉工程大学邮电与信息工程学院 ^^^^^^^^^^\n\n"); printf("\t^^^^^^^^^ 07网络与安全管理2班 ^^^^^^^^^\n\n"); printf("\t^^^^^^^^ 易樊制作 ^^^^^^^^\n\n"); printf("\t^^^^^^^^^ 禁止CTRL+C 谢谢合作 ^^^^^^^^^\n\n"); printf("\t^^^^^^^^^^ QQ:895115828\n\n"); printf("\t**********************************************************\n\n"); } void select()//查看学生 { int i=0; printf("以下是全部学生成绩\n"); printf("\t姓名\t学号\t成绩\n"); for(i=0;iNumber;i++) { printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } } void add()//增加学生 { int numberTemp=0; int i=0; struct student temp; //临时保存信息 printf("请输入要增加学生成绩个数:"); scanf("%d",numberTemp); for(i=0;inumberTemp;i++) { printf("输入第%d个同学信息\n",i+1); printf("姓名:"); scanf("%s",temp.name); printf("学号:"); scanf("%s",temp.ID); printf("成绩:"); scanf("%d",temp.score); st[Number++]=temp; //将刚添加的写入到数组 bc(temp); //将刚添加的写入到文件 } printf("添加成功\n"); } void bc(struct student *st) { FILE *fp=NULL; fp=fopen("C://student.dat","ab+"); fwrite(st,sizeof(struct student),1,fp); fclose(fp); } int dq(struct student st[]) { FILE *fp=NULL; int i=0; fp=fopen("C://student.dat","rb"); while(fread(st[i],sizeof(struct student),1,fp)) i++; fclose(fp); return i; } void xianshi() { printf("\t*****************************************************************\n"); printf("\t* *\n"); printf("\t* 学生成绩管理系统 *\n"); printf("\t* *\n"); printf("\t* [1] 增加学生成绩 [2] 查看学生成绩 *\n"); printf("\t* [3] 查找学生成绩 [4] 删除学生成绩 *\n"); printf("\t* [5] 统计(总成绩和平均分) [6] 输出前N名学生成绩 *\n"); printf("\t* [7] 输出不及格人数 [8] 修改学生信息 *\n"); printf("\t* [9] 关于作者 [10] 保存数据 *\n"); printf("\t* [0] 退出系统 *\n"); printf("\t*****************************************************************\n"); } 稍微改下就可以了,祝你成功!~
名称栏目:c语言函数的绘制课程设计 c语言课程设计概述
分享地址:http://scyanting.com/article/hgdghs.html