c语言课程设计源代码
- 格式:docx
- 大小:456.08 KB
- 文档页数:5
S2_1 #include<iostream>using namespace std;void main(){float a,b,c;cout<<"input a b c\n";cin>>a>>b>>c;if((a+b<c)||(b+c<a)||(a+c<b))cout<<"Not Triangle\n";elsecout<<"Triangle\n";}S2_2#include<iostream>using namespace std;void main(){int year;cout<<"Input year: ";cin>>year;if((year%4==0&&year%100!=0)||(year% 400==0)) cout<<year<<" is a leap year"<<'\n';elsecout<<year<<" is not a leap year"<<'\n';}S2_3#include<iostream>using namespace std;void main(){float a1, a2;char oper;float result;int flag=0;cout<<"请输入简单的运算式:\n"; cin>>a1>>oper>>a2;switch(oper){case'+':result=a1+a2;break;case'-':result=a1-a2;break;case'*':result=a1*a2;break;default:cout<<"输入错误的运算符!\n"; flag=1;}if(flag==0)cout<<a1<<oper<<a2<<"="<<result<<en dl; }S2_4#include<iostream>#include<math.h>using namespace std;void main(){float a,b,c,x1,x2;cout<<"请输入方程的3个系数a b c \n"; cin>>a>>b>>c;x1=(-b+sqrt(b*b-4*a*c))/2*a;x2=(-b-sqrt(b*b-4*a*c))/2*a;if(b*b-4*a*c<0)cout<<"无实根!\n";elsecout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}S3_1#include<iostream>using namespace std;void main(){int x,y;for(x=1;x<=30;x++)for(y=1;y<=30;y++)if(x+y==30&&2*x+4*y==90) cout<<"鸡有1"<<x<<'\n'<<"兔有"<<y<<endl; }S3_2#include<iostream.h>void main(){int a0,a1,a2;int b;for(a2=1;a2<=9;a2++)for(a1=1;a1<=9;a1++)for(a0=1;a0<=9;a0++){b=100*a2+10*a1+a0;if(b==a2*a2*a2+a1*a1*a1+a0*a0*a0) cout<<b<<endl;}}S3_3#include<iostream.h>void main(){int a0,a1,a2;int b;for(b=100;b<=999;b++){a2=b/100;a1=(b/10)%10;a0=b%10;if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2) cout<<b<<'\t';}}S3_4#include<iostream.h>void main(){int a,b,c;for(a=1;a<=36;a++)for(b=1;b<=36;b++)for(c=1;c<=36;c++)if(a+b+c==36&&a*4+b*2+c/2==36&&c %2==0)cout<<"男人"<<a<<'\n'<<"女人"<<b<<'\n'<<"小孩"<<c<<endl; }S3_5_1#include<iostream.h>void main(){int a;for(a=1;a<=599;a++){if((a%10==5||(a/10)%10==5||(a/10/10)% 10==5)&&(a%3==0)) cout<<a<<endl;}}S3_5_2#include<iostream.h> void main(){int a,b,c=0;cout<<"请输入整数:"; cin>>a;while(a){ b=a%10;c=c+b;a=a/10;}cout<<c<<endl;}S4_1#include<iostream.h> void main(){int a,b;int x,t;cout<<"请输入两个正整数:"; cin>>a>>b;x=a*b;if(a<b){t=a;a=b;b=t;}while(t=a%b){a=b;b=t;}cout<<"最大公约数:"<<b<<endl; cout<<"最小公倍数:"<<x/b<<endl; }S4_2#include<iostream.h>void main(){int a, b,c;cout<<"Input three number:"; cin>>a>>b>>c;for(int i=a;;i--)if(a%i==0&&b%i==0&&c%i==0) break;cout<<i<<endl;}S4_3#include<iostream.h>#include<math.h>void main(){int a;cout<<"请输入一个整数:"; cin>>a;for(int i=2;i<sqrt(a);i++)if(a%i==0)break;if(a%i!=0)cout<<a<<"是素数\n";elsecout<<a<<"不是素数\n";}S4_4#include<iostream.h>void main(){int a,b,c,x;cout<<"Input three number:";cin>>a>>b>>c;for(x=a;;x++)if(x%a==0&&x%b==0&&x%c==0) break;cout<<x<<endl;}S4_5#include<iostream.h>void main(){int a;for(a=100;a<=200;a++){for(int b=2;b<a;b++)if(a%b==0)break;if(a==b)cout<<a<<endl;}}S4_6# include <iostream> using namespace std; int main (){int n,i,sum;for(n=2;n<1000;n++) {//p=n/2;sum=0;for (i=1;i<n;i++) {if (n%i==0)sum =sum+i;}if (sum ==n)cout <<n<<endl;}return 0;}S5_1#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_2#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_3#include<iostream.h> #include <math.h> double x;int main(){cout<<"Input x :";cin>>x;double y1,y2=x;do{y1=y2;y2=2.0/3.0*y1+x/(3.0*y1*y1); }while(fabs(y1-y2)>=1e-5); cout <<"y="<<y2<<endl;return 0;}S5_4#include<iostream.h>void main(){float x;cout<<"Input x :";cin>>x;int n=1; float g=0;float t=x;do{g+=t;n++;t=-t*x*x/(2*n-1)/(2*n-2); }while(n<=10);cout<<g<<endl;}S6_1include<iostream.h> double abc(double x){double y;y=2*x*x+3*x+5;return y;}void main(){double a,b;a=abc(1);b=abc(1.2);cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; }S6_2#include<iostream.h> #include<math.h> float f(float x) {float y;y=x*x+3*x-4;return y;}float df( float x) {float y;y=2*x+3;return y;}void main(){float x0,x1;x1=0;do{x0=x1;x1=x0-f(x0)/df(x0);} while(fabs(f(x0))>=1e-5); cout<<"x="<<x1<<endl;}S6_3#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1+x2)/2;if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S6_4#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S7_1 #include<iostream.h>int prime(int x){for(int i=2;i<x/2;i++)if(x%i==0)return 0;return 1;}void main(){for(int x=100;x<=200;x++) {if(prime(x)==1)cout<<x<<'\t';}}S7_2#include<iostream.h>int prime(int num){for(int i=2;i<num/2;i++) if(num%i==0)return 0;return 1;}void main(){int n;cout<<"请输入一个整数n: "; cin>>n;for(int i=2;i<n/2;i++){if(n%i==0&&prime(i)==1) cout<<i<<'\t';}cout<<endl;}S7_3#include<iostream.h>int prime(int a){for(int i=2;i<a/2;i++)if(a%i==0)return 0;return 1;}void main(){int n;do{cout<<"输入一个不小于6的偶数: "; cin>>n;}while(n%2!=0||n<6);for(int i=2;i<n/2;i++){if(prime(i)==1&&prime(n-i)==1)cout<<n<<'='<<i<<'+'<<n-i<<'\n';}cout<<endl;}S7_4#include<iostream.h>int fun(int x){int a,b=1;while(x){a=x%10;b=b*a;x=x/10;}return b;}void main(){int n,mul;cout<<"请输入一个整数(输入0结束): "; cin>>n;while(n){mul=fun(n);cout<<n<<"的各位数之积为"<<mul<<endl; cout<<"请输入一个整数(输入0结束):"; cin>>n;}}S8_1#include<iostream.h>void main(){int a[6]={9,8,7,6,5,4};int i,j,t;int n=6;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++){if (a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_2#include<iostream.h> void main(){int a[6]={9,8,7,6,5,4}; int i,j,min,t;int n=6;for(j=0;j<n-1;j++){min=j;for(i=j;i<n;i++)if(a[min]>a[i])min=i;t=a[min];a[min]=a[j];a[j]=t;}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_3#include<iostream.h>void main(){int a[10]={2,5,78,4,6,3,89,12,15,34}; int i,max;int n=10;max=0;for(i=0;i<10;i++){if(a[i]>a[max])max=i;}cout<<"max="<<a[max]<<" "<<"maxindex="<<max+1<<endl; }S8_4#include<iostream.h>void main(){int a[5]={8,16,5,14,1};int i,j,n=5;for(i=0;i<n/2;i++){ j=a[i];a[i]=a[n-1-i];a[n-1-i]=j;}for(i=0;i<n;i++)cout<<a[i]<<'\t';}S9_1#include<iostream.h>void main(){int i,j,row=0,colum=0,max;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,6,8},{4,6,34,1}}; max=a[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}cout<<"max="<<max<<",row="<<ro w<<",colum="<<colum<<endl;}S9_2#include<iostream.h>void main(){int i,j,k;int colum,saddle,max,flag=0;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,-6,8},{4,6,34,10}}; for(i=0;i<4;i++){max=a[i][0];for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];colum=j;}for(k=0;k<4;k++)if(a[k][colum]<max)max=a[k][colum];if(a[k][j]<max){flag=1;saddle=max;break;}}if(flag=1)cout<<"saddle="<<saddle<<",row="<<i<<",colum= "<<colum<<endl; elsecout<<"No Saddle!\n";}S9_3_1#include<iostream.h>void main(){int i,j,k,n=4;inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{ 13,14,15,16}}; for(i=0;i<n;i++)for(j=i;j<n;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}for(i=0;i<n;i++){for(j=0;j<n;j++){cout<<a[i][j]<<'\t';}cout<<endl;}}S9_3_2#include<iostream.h>void main(){int a[9][9];for(int i=1;i<=9;i++)for(int j=1;j<=i;j++)a[i-1][j-1]=i*j;for(int b=0;b<9;b++){for(int c=0;c<=b;c++)cout<<b+1<<"*"<<c+1<<"="<<a[ b][c]<<"\t"; cout<<endl;}}S9_4#include<iostream.h>void main(){int i,j,a[10][10]={0};a[0][0]=a[1][0]=a[1][1]=1;for(i=2;i<=9;i++){a[i][0]=1;a[i][i]=1;for(j=1;j<=9;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; }for(i=0;i<=9;i++)for(j=0;j<=i;j++){cout<<a[i][j]<<'\t';if(j==i)cout<<'\n';}} S10_1#include<iostream.h>int gys(int m,int n){int r;if(m<n){r=m;m=n;n=r;}while(r=m%n){m=n;n=r;}return n;}void main(){inta[8]={26,1007,956,705,574,371,416,517}; int b[8]={994,631,772,201,262,763,1000,781 };int c[8];for(int i=0;i<8;i++) c[i]=gys(a[i],b[i]); for(i=0;i<8;i++) cout<<c[i]<<'\t'; cout<<endl;}S10_2#include<iostream.h> int fun(int x){int sum=0;while(x){sum+=x%10;x=x/10;}return sum;}void main(){ int a[10],b[10];int sum=0;cout<<"请输入10个整数: \n"; for(int i=0;i<10;i++)cin>>a[i];for(i=0;i<10;i++){b[i]=fun(a[i]);sum+=a[i];}cout<<"sum="<<sum<<endl;for(i=0;i<10;i++)cout<<a[i]<<'\t'<<b[i]<<endl; }S10_3#include<iostream.h>int fun(int x){int sum=0;while(x){sum+=x%10;x/=10;}if(sum==10)return 1;elsereturn 0;}void main(){int a[1001],num=0,x;cout<<"请输入一个大于100小于1000的数:";cin>>x;for(int i=100;i<=x;i++){a[i]=i;if(fun(a[i])==1){cout<<a[i]<<'\t';num++;}}cout<<'\n'<<"共"<<num<<"个"<<'\n'; }S10_4#include<iostream.h>int prime(int num) //函数prime判断参数num是否为素数,若为素数函数返回1,否则返回0{ for(int i=2;i<num/2;i++)if(num%i==0)return 0;return 1;}void main(){int num=0;inta[]={55,154,103,106,151,58,199,10,247,2 18,39,170,87,122,135}; int n=sizeof(a)/sizeof(a[0]);for(int i=0;i<n;i++)if(prime(a[i])==1){cout<<a[i]<<'\t';num++;}cout<<'\n'<<"共"<<num<<"个"<<endl;}S11_1#include<iostream.h>int binary(int array[],int n,int number) { int low=0,high=n-1,mid;while(low<=high){mid=(low+high)/2;if(number<array[mid])high=mid-1;else if(number>array[mid])low=mid+1;elsereturn mid;}return -1;}void main(){inta[]={2,4,6,8,10,12,14,16,18,20,22,24};int num;cout<<"请输入要寻找的数: ";cin>>num;intindex=binary(a,sizeof(a)/sizeof(a[0]),nu m); if(index!=-1)cout<<"该数在数组中的序号为: "<<index<<endl; elsecout<<"数组中没有该元素\n";}S11_2#include<iostream.h>int del(int array[],int n){for(int i=0;i<n-1;i++)if(array[i]==array[i+1]){for(int j=i+2;j<n;j++)array[j-1]=array[j];n=n-1;i=i-1;}return n;}void main(){inta[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,1 0}; int n=del(a,sizeof(a)/sizeof(a[0]) );for(int i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S11_3#include<iostream.h>int f(int a[],int n){ int c=0;for(int e=n;e>0;e--)if(a[e-1]>a[e]){c=a[e-1];a[e-1]=a[e];a[e]=c;}return n; }void main(){ int s[1000];int i=0,n=0;cout<<"请输入数字(输入0结束):"<<endl; cin>>s[0];while(s[i]!=0){ n=f(s,i);i++;cin>>s[i];}for(int d=0;d<i;d++)cout<<s[d]<<'\t';cout<<endl;}S11_4#include<iostream.h>void main(){int a[]={5,26,98,77,1,27,30};int b[10]={0,0,0,0,0,0,0,0,0,0}; int c, n=sizeof(a)/sizeof(a[0]); for(int i=0;i<n;i++)while(a[i]){c=a[i]%10;b[c]++;a[i]=a[i]/10;}for(int j=0;j<10;j++)cout<<b[j]<<'\t';}S12_1#include<iostream.h>void main(){char s[1000];cout<<"请输入一行字符串:\n"; cin.getline(s,200);int a=0,b=0,c=0;for(int i=0;s[i]!='\0';i++) {if(s[i]>='A'&&s[i]<='Z')a++;else if(s[i]>='a'&&s[i]<='z')b++;else if(s[i]>='0'&&s[i]<='9')c++;}cout<<"大写字母个数:"<<a<<'\t'<<"小写字母个数:"<<b<<'\t'<<"数字字符个数:"<<c<<endl;}S12_2#include<iostream.h>#include<string.h>void main(){char str[100];int flag=0;cout<<"Input a string:\n";cin.getline(str,100);for(int i=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]<='z'&&flag= =0) {str[i]=str[i]-32;flag=1;}if(str[i]==' '||str[i]=='\n')flag=0;}cout<<"thr result is:\n";cout<<str<<endl;}S12_3#include<iostream.h>#include<string.h>。
C程序设计课程设计题目:学生选课系统专业班级:通信工程1班姓名:学号:指导教师:成绩:摘要学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。
利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。
目录一、需求分析 (1)二、总体设计 (1)三、详细设计 (2)1、数据定义......................................................... 错误!未定义书签。
2、算法流程图 (2)四、编码 (6)五、调试 (7)六、设计总结 (10)致谢 (11)参考文献 (12)附录 (13)一、需求分析语言文字描述系统要做什么数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。
选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。
二、总体设计系统由哪几个功能模块构成,给出功能模块图。
C中模块化的工具是函数根据上面的需求分析,可以将这个系统的设计分为如下七大模块:选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。
三、详细设计1.数据定义2,算法流程图(1)录入课程信息表(2)课程管理(3)录入课程信息(4)学生信息管理(5)学生选课(6)系统信息及查看系统(7)退出系统四、编码1.struct couse * head1;结构2.void keyboardc()//录入课程子函数(从键盘录入)3.void filec()//录入键盘子函数(从文件录入)4.void inputc()//录入课程主函数5.void insertc(struct couse *incouse)//课程管理子函数(增加课程)6.void delc(int num1)//课程管理子函数(删除课程)7.void elect(struct student * s)//选课8.void cheak()//学生选课子函数(查询可选课程)9.void back(struct student * p)//退课10.void hcheak()//学生选课子函数(查询已选课程)11.void elective()//学生选课主函数12.void listc()//输出课程信息13.void lists()//输出学生信息14.void intoc()//存储课程信息15.void intos()//存储学生信息16.void into()//存储信息17.void store()//信息主函数18.int main()//主函数五、测试1.主菜单2.录入课程信息3,从文件输入4,学生选课菜单5,学生信息管理6,管理员输入课程信息界面:六、设计总结问题一:无法读取文txt文件。
剪刀石头布源代码#include<stdio.h>#include<stdlib.h>main(){int d,x;{printf("请输入:1是剪刀,2是石头,3是布");scanf("%d",&d);x=rand()%3;if(d==x)printf("双方平局");else if((d==1&&x==2)||(d==2&&x==3)||(d==3&&x==1)) printf("你赢了");elseprintf("电脑赢了");}}简单计算器#include<stdio.h>main(){int a,b,d=0;char c;while(d==0){printf("请开始计算,请输入需要运算的数字和运算法则,数字符号数字:"); scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':if(0==b)printf("除法被除数不能为零!\n") ;elseprintf("%d/%d=%d\n",a,b,a/b);break;}}}加油站加油问题#include<stdio.h>int main(){double a = 3.25, b = 3.00, c= 2.75;double d = 0.05, e = 0.10, m;int x,y,z;printf("请输入您要的加油量:");scanf("%d",&x);printf("请输入您要的汽油种类,1-a型汽油售价3.25元/千克, 2-b型汽油售价3.00元/千克, 3-c型汽油售价2.75元/千克:");scanf("%d",&y);printf("请输入您要的服务类型,1-自己加服务优惠0.05,2-协助加服务优惠0.10:"); scanf("%d",&z);switch(y){case 1:y = a;break;case 2:y = b;break;case 3:y = c;break;}if(z == 1)m = (1 - d) * y * x;else if(z == 2)m = (1 - e) * y * x;printf("您需要支付:%f 元,谢谢惠顾,欢迎下次再来",m);return 0;}猜数字游戏#include<stdio.h>#include<stdlib.h>int main(){int d=1,e=0;int a,b,t;printf ("请输入1-10以内的整数,\n ");while(d==1){printf("玩家的选择: ");scanf("%d",&a);do{if((a>=0)&&(a<11))break;else{printf("错误");scanf("%d",&a);}}while(e==0);b=rand()%10+1;printf("npc:%d",b);t=a-b;if(t==0)printf("\nRight!\n");else if(t<0)printf("\n Wrong !太小了\ n");else if(t>0)printf("\n Wrong !太大了\ n");}return 0;}万年历#include<stdio.h>#include<stdlib.h>void setmonth(int r);void main(void){int year,month,day,a,b,i,j,d,x,mon,k;do{printf("----------------------------------------------------\n");printf(" 查全年,输入 1!\n");printf(" 查月份,输入 2!\n");printf(" 查日期,输入 3!\n");printf(" 继续?输入 4!\n");printf(" 退出,输入 5!\n");printf("-----------------------------------------------------\n");printf("请输入:");scanf("%d",&x);if(x==1){month=12;printf("输入年份:");scanf("%d",&year);if(x==2){printf("输入年份:");scanf("%d",&year);printf("输入月份:");scanf("%d",&month);}if(x==3){printf("输入年份:");scanf("%d",&year);printf("输入月份:");scanf("%d",&mon);printf("输入日期:");scanf("%d",&day);month=mon-1;}if(x==5)exit(100);a=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)%7;for(i=1,d=0;i<=month;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 2:if(!(year%4)&&(year%100)||!(year%400))d=29;elsed=28;break;case 4:case 6:case 9:case 11:d=30;}b=a%7;a+=d;if(x==1){printf("========================================================\n");setmonth(i);printf("************************************************\n");printf("========================================================\n");printf(" 星期一星期二星期三星期四星期五星期六星期天\n");for(j=1;j<=b;j++)printf("%8c",' ');for(j=1;j<=d;j++){printf("%8d",j);if((j+b)%7==0)printf("\n");}}if(x==1)printf("\n");}if(x==2){printf("========================================================\n");setmonth(i-1);printf("************************************************\n");printf("========================================================\n");printf(" 星期一星期二星期三星期四星期五星期六星期天\n");for(j=1;j<=b;j++)printf("%8c",' ');for(j=1;j<=d;j++){printf("%8d",j);if((j+b)%7==0)printf("\n");}printf("\n");}if(x==3){a+=day;a%=7;switch(a){case 0:printf("%d.%d.%d 星期一!",year,mon,day);break;case 1:printf("%d.%d.%d 星期二!",year,mon,day);break;case 2:printf("%d.%d.%d 星期三!",year,mon,day);break;case 3:printf("%d.%d.%d 星期四!",year,mon,day);break;case 4:printf("%d.%d.%d 星期五!",year,mon,day);break;case 5:printf("%d.%d.%d 星期六!",year,mon,day);break;default:printf("%d.%d.%d 星期天!",year,mon,day);}printf("\n");}printf("是否继续?输入4继续,输入5退出:");scanf("%d",&k);} while(k==4);if(k==5)exit(100);}void setmonth(int r){switch(r){case 1:printf("%4c 一月份",' ');break;case 2:printf("%4c 二月份",' ');break;case 3:printf("%4c 三月份",' ');break;case 4:printf("%4c 四月份",' ');break;case 5:printf("%4c 五月份",' ');break;case 6:printf("%4c 六月份",' ');break;case 7:printf("%4c 七月份",' ');break;case 8:printf("%4c 八月份",' ');break;case 9:printf("%4c 九月份",' ');break;case 10:printf("%4c 十月份",' ');break;case 11:printf("%2c 十一月份",' ');break;default:printf("%2c 十二月份",' ');}}ATM机# include<stdio.h># include<stdlib.h># define Password 123456main (){int a,i,b,q,c;float m;m=3000.00;for (i=0;i<=2;i++){printf("请输入密码\n");scanf("%d",&a);if(a==Password){printf("密码正确,欢迎使用\n");break;}elseprintf("密码错误,请重新输入\n");}{if (a!=Password)printf("您的操作错误超过3次,请取回卡\n");else{system("cls");printf("1.取款\n2.存款\n3.查询余额\n4.退出\n");}}while(b!=4){scanf("%d",&b);switch(b){case 1: system("cls");printf("请输入你要取款的金额\n");scanf(" %d",&q); printf("取款成功,请选择你要进行的操作\n");m=m-q;break;case 2: system("cls");printf("请输入你要存入的金额\n");scanf(" %d",&c);m=m+c;;printf("存款成功,请选择你要进行的操作\n");break;case 3: system("cls");printf("您的余额为%.2f\n",m);break;case 4: system("cls");printf("谢谢使用");break;}}return 0;}学生成绩#include <stdio.h>#include <stdlib.h>float s[3][4];int r=0,c=0;void pjf(void){int i,j,cour = 0;for(j=0;j<4;j++){for(i=0;i<3;i++)cour+=s[i][j];printf("第%d课的平均分是%d\n",(j+1),cour/3);cour = 0;}}void dkzg(void){int i,j,high=0;for(j=0;j<4;j++){for(i=0;i<3;i++){if(s[i][j]>high){high=s[i][j];r=i+1;c=j+1;}}printf("最高分是%d,学生是%d,课程是%d\n",high,r,c);r=0;c = 0;high = 0;}}int main(){int i,j;float score=0;for(i=0;i<3;i++){printf("enter NO.%d score\n",i+1);for(j=0;j<4;j++){scanf("%f",&s[i][j]);score += s[i][j];}printf("第%d个学生的平均分是%f\n",(i+1),score/4);score = 0;}pjf();dkzg();return 0;}选票问题#include <stdio.h>void main(){int i=1;char j;int num[4]={0,0,0,0};printf("3位候选人,分别为A,B,C D为无效票,开始投票\n"); while(i<=10){printf("请输入第%d个的选票",i);scanf("%c",&j);switch(j){case 'A':num[0]++;i++;break;case 'B':num[1]++;i++;break;case 'C':num[2]++;i++;break;case 'D':num[3]++;i++;break;}getchar();}printf("A获得%d张选票\n",num[0]);printf("B获得%d张选票\n",num[1]);printf("C获得%d张选票\n",num[2]);printf("无效票为%d张 \n",num[3]);}打字母游戏#include <graphics.h>#include <conio.h>#include <time.h>#include <stdlib.h>#include <dos.h>#include <stdio.h>// 欢迎界面void welcome(){// 输出屏幕提示cleardevice(); //清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。
c语言管理系统设计源代码以下是一个简单的C语言管理系统示例,用于管理学生信息。
该系统可以添加、删除、修改和查找学生信息。
c复制代码#include<stdio.h>#include<stdlib.h>#include<string.h>struct student {char name[50];int roll;float marks;};struct student students[100];int count = 0;void add_student() {struct student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter roll number: ");scanf("%d", &new_student.roll);printf("Enter marks: ");scanf("%f", &new_student.marks);students[count] = new_student;count++;}void delete_student() {int index;printf("Enter index of student to delete: ");scanf("%d", &index);for (int i = index; i < count - 1; i++) {students[i] = students[i + 1];}count--;}void modify_student() {int index;struct student new_student;printf("Enter index of student to modify: "); scanf("%d", &index);printf("Enter new name: ");scanf("%s", new_);printf("Enter new roll number: ");scanf("%d", &new_student.roll);printf("Enter new marks: ");scanf("%f", &new_student.marks);students[index] = new_student;}void find_student() {char name[50];printf("Enter name of student to find: "); scanf("%s", name);for (int i = 0; i < count; i++) {if (strcmp(students[i].name, name) == 0) { printf("Roll number: %d\n", students[i].roll); printf("Marks: %.2f\n", students[i].marks); return;}}printf("Student not found.\n");}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Delete student\n");printf("3. Modify student\n");printf("4. Find student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case1: add_student(); break;case2: delete_student(); break;case3: modify_student(); break;case4: find_student(); break;case5: exit(0); break; // exit the program here, otherwise the loop will keep running indefinitely, as it is in the do-while loop above. We are not returning, but rather exiting the program completely, so we do not need to return anything. The return value of main is always 0, and this is how the program exits. If you want to return a value other than 0, you can do so like this: return 1; or return -1; or return any other integer value you want to represent an error condition. The operating system will interpret this as the program's exit status. In this case, it will be seen as successful, as it is returning 0. The return value of main is not used for anything in this program, but it can be used in other programs to determine whether the program exited successfully or with an error. For example, if you were writing a shell script that executed this program and needed to know if it was successful or not, you could check the return value of the program and act accordingly. This is a common practice in programming, and it is important to understand how it works so that you can use it effectively in your own programs.。
说明:只提供源代码,有些需要自己创建文件请自行建立。
#include<stdio.h> /*I/O函数*/#include <conio.h>#include<stdlib.h> /*其它说明*/#include<string.h> /*字符串函数*/#define LEN 15 /* 学号和姓名最大字符数,实际请更改*/#define N 100 /* 最大学生人数,实际请更改*/struct record /*结构体*/{char code[LEN+1]; /* 学号*/char name[LEN+1]; /* 姓名*/int age; /* 年龄*/char sex[3]; /* 性别*/char time[LEN+1]; /* 出生年月*/char add[30]; /* 家庭地址*/char tel[LEN+1]; /* 电话号码*/char mail[30]; /* 电子邮件地址*/char password[20];/*密码*/char maogao[20];char gaoshu[20];char cyuyan[20];}stu[N];int k=1,n,m; /* 定义全局变量*/void readfile();/* 函数声明*/void seek();void modify();void insert();void del();void display();void save();void menu();void panduan();void mima();void students();void xueshengdenglu();void LogOn();void readfile1();void readfile2();void modify1();void mimacharge();void GetPassword(char *szFinalPass);void teachlogon();void insertchengji();int main(){ system("color 1a");while(k)panduan();system("pause");return 0;}void teachlogon(){}void insertchengji(){int i,k,item,num;k=0;char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准*/ printf("请输入要要修改的学生的学号:");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/{ k=1;printf("\n\n") ;printf("::∴★∵**☆.∴★∵**☆. 1.登记毛概分数\n");printf(" █████.☆.∵★∵∴☆. 2.登记高数分数\n");printf(" █田█田█.*☆.∴★∵. 3.登记C语言分数\n"); printf(" █田█田█.★∵∴☆.★∵∴.4.返回上层菜单\n");printf(" █田█田█.★∵∴☆.★..**.\n");printf(" █田█田█.★★∵∴☆.★*☆.\n");printf(" █████.\n");printf("◢██□██◣.~~~~~*^_^* \n ");printf("------------------\n");printf("------------------\n");while(1){printf("\n请选择子菜单编号:");scanf("%d",&item);switch(item){case 1:printf("\n请输入毛概分数:");scanf("%s",s2);strcpy(stu[i].maogao,s2);save();printf("\t\t\tO(∩_∩)O登录成功\n"); break;case 2:printf("\n请输入高数分数:");scanf("%s",stu[i].gaoshu);save();printf("\t\t\tO(∩_∩)O修改成功\n");break;case 3:printf("\n请输入C语言分数:");scanf("%s",sex1);strcpy(stu[i].cyuyan,sex1); save();printf("\t\t\tO(∩_∩)O修改成功\n");break;case 4:panduan();break;default:printf("\n请在-8之间选择\n");}}}if(k==0){printf("\n\t\t*****/(ㄒoㄒ)/~~输入的学号有误*******\n\n");system("pause");system("cls");menu();}}void panduan(){char i,j;printf("\n∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞【学生信息管理系统】∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\n");printf(" --------------------------------系统菜单显示如下------------------------------");printf("\n");printf("\n\t ①============【学生登录】\n");printf("\n\t ②============【管理员登录】\n");printf("\n\t ③============【退出系统】\n");printf("\n\n");printf("\t\t#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓§〓#\n");printf("\t\t↓↓↓↓\n");printf("\t\t☆★☆☆★☆☆★☆☆★☆\n");printf("\t\t☆北☆☆京☆☆化☆☆工☆\n");printf("\t\t☆★☆☆★☆☆★☆☆★☆\n");printf("\t\t↓↓↓↓\n");printf("\t\t※※※※\n");scanf("%s",&i);switch(i){case('1'):system("cls");students();break;case('2'):system("cls");mima();break;case('3'): exit(0);break;case('4'):insertchengji();break;default:printf("请在1-3之间选择\n");}}void mimacharge(){ char username[16],password[20],password1[20],password2[20],q;int i,j,num,item;int k=0;printf("\n\n");printf(" 请输入学号: ");scanf("%s",username);for(i=0;i<=n;i++)if(strcmp(stu[i].code,username)==0){k=1;printf("\n\n");printf(" 请输入密码:");scanf(" %s",password);if(strcmp(stu[i].password,password) ==0){ printf("\n\n");printf(" 请输入新的密码: ");scanf(" %s",password1);printf("\n\n");printf(" 请再次输入新密码: ");scanf("%s",password2);if(strcmp(password1,password2)==0){strcpy(stu[i].password,password1);save();printf("\n\n");printf(" 密码修改完毕\n");printf("\n\n");printf(" 按任意键返回上层菜单");system("pause");students();}else{system("cls");printf("\n\n");printf(" 两次输入的密码不一致,请重新输入\n");mimacharge();}}else{ printf("\n\n");system("cls");printf("\n\n");printf(" 输入密码有误,请重新输入\n");mimacharge();}}if (k==0){system("cls");printf("\n\n");printf(" 输入的学号有误,请重新输入\n");mimacharge();}}void modify1(){char username[20],password[20];char szPassword[128];char sex1[3],s1[LEN+1],s2[LEN+1];int i,j,num,item;int k=0;printf("\n 请输入学号:");scanf("%s",username);for(i=0;i<n;i++)if(strcmp(stu[i].code,username)==0){ int k=1;printf("\n 请输入密码(默认密码为0000):"); //开始以不回显且支持退格方式获取输入密码GetPassword(szPassword);if(strcmp(stu[i].password,szPassword) ==0){ system("cls");printf("\n\t\t\t\t登录成功!\n\n\n");num=i;printf("::∴★∵**☆.∴★∵**☆. 1.修改姓名\n");printf(" █████.☆.∵★∵∴☆. 2.修改年龄\n");printf(" █田█田█.*☆.∴★∵. 3.修改性别\n");printf(" █田█田█.★∵∴☆.★∵∴.4.修改出生年月\n");printf(" █田█田█.★∵∴☆.★..**.5.修改地址\n");printf(" █田█田█.★★∵∴☆.★*☆.6.修改电话号码\n");printf(" █████.7.修改E-mail地址\n"); printf("◢██□██◣.~~~~~*^_^* 8.退出本菜单\n ");printf("------------------\n");printf("------------------\n");while(1){printf("请选择子菜单编号:");scanf("%d",&item);switch(item){case 1:printf("请输入新的姓名:\n");scanf("%s",s2);strcpy(stu[num].name,s2); save();printf("\t\t\tO(∩_∩)O修改成功\n");break; case 2:printf("请输入新的年龄:\n");scanf("%d",&stu[num].age);save();printf("\t\t\tO(∩_∩)O修改成功\n");break; case 3:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(stu[num].sex,sex1);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break; case 4:printf("请输入新的出生年月:\n");scanf("%s",s2);strcpy(stu[num].time,s2);save(); printf("\t\t\tO(∩_∩)O修改成功\n");break; case 5:printf("请输入新的地址:\n");scanf("%s",s2);strcpy(stu[num].add,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break;printf("请输入新的电话号码:\n");scanf("%s",s2);strcpy(stu[num].tel,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break;case 7:printf("请输入新的E-mail地址:\n");scanf("%s",s2);strcpy(stu[num].mail,s2);save(); printf("\t\t\tO(∩_∩)O修改成功\n");break;case 8:students();break;default:printf("请在0-8之间选择\n");}}}else{ system("cls");printf("\n\t**************~~~~(>_<)~~~~ 输入密码有误**************\n");modify1();}}if(k==0){ system("cls");printf("\n");printf("\n\t*******~~~~(>_<)~~~~ 输入的学号有误,请重新输入**********\n");modify1();}}void lookchengji(){char szFinalPass[30];char szPassword[128];char s1[21],password[20];int i,j;int k=0;printf("\n 请输入学号:");scanf("%s",s1);for(i=0;i<=n;i++)if(strcmp(stu[i].code,s1)==0){k=1;printf("\n 请输入密码(默认密码为0000):"); //开始以不回显且支持退格方式获取输入密码GetPassword(szPassword);if(strcmp(stu[i].password,szPassword) ==0){system("cls");printf("\n\n\n");printf("------------------------你的信息如下----------------------------------\n");printf("\n");printf("毛概成绩高数成绩C语言成绩\n");printf("--------------------------------------------------------------------\n");printf("%7s %6s %6s\n",stu[i].maogao,stu[i].gaoshu,stu[i].cyuyan);printf("--------------------------------------------------------------------\n");printf("\n");printf("\n");printf("\n\n按任意键返回学生菜单");system("pause") ;students();}else{system("cls");printf("\n***************~~~~(>_<)~~~~ 输入密码有误,请重新输入**********************\n");LogOn();}if (k==0){ system("cls");printf("\n");printf("\t\t*********(>_<)****输入的学号有误,请重新输入**********\n");}LogOn();}void LogOn(){char szFinalPass[30];char szPassword[128];char s1[21],password[20];int i,j;int k=0;printf("\n 请输入学号:");scanf("%s",s1);for(i=0;i<=n;i++)if(strcmp(stu[i].code,s1)==0){k=1;printf("\n 请输入密码(默认密码为0000):"); //开始以不回显且支持退格方式获取输入密码GetPassword(szPassword);if(strcmp(stu[i].password,szPassword) ==0){system("cls");printf("\n\n\n");printf("------------------------你的信息如下----------------------------------\n");printf("\n");printf("学生学号学生姓名年龄性别出生年月地址电话printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);printf("--------------------------------------------------------------------\n");printf("\n");printf("\b");printf("\n\n按任意键返回学生菜单");system("pause") ;students();}else{system("cls");printf("\n***************~~~~(>_<)~~~~ 输入密码有误,请重新输入**********************\n");LogOn();}}if (k==0){ system("cls");printf("\n");printf("\t\t*********(>_<)****输入的学号有误,请重新输入**********\n");}LogOn();}void mima(){char szFinalPass[30];char szPassword[128];int k;char j1[20]="123";printf("\n\n");printf(" 请输入管理员密码:");GetPassword(szPassword);if(strcmp(j1,szPassword)==0){k=1;}else{k=2;}switch(k){case(1):system("cls");menu();break;case(2): printf("\n\n 输入的密码有误,按任意键返回上层菜单!\n");system("pause");system("cls");panduan();break;}}void students(){int i;readfile1();printf("\n\n");printf(" ********O(∩_∩)O欢迎您来到学生信息查询系统**********\n");printf("\n\n");printf(" 您需要以下哪项功能请输入对应数字O(∩_∩)O \n") ;printf("\n\n");printf("\t﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩\n");printf("\t﹩﹩\n");printf("\t﹩欢迎使用﹩\n");printf("\t﹩﹩\n");printf("\t﹩0 .刷新学生信息﹩\n");printf("\t﹩﹩\n");printf("\t﹩ 1.查看学生信息﹩\n");printf("\t﹩﹩\n");printf("\t﹩ 2.修改学生信息﹩\n");printf("\t﹩﹩\n");printf("\t﹩ 3.修改密码﹩\n");printf("\t﹩﹩\n");printf("\t﹩ 4.查看学生成绩﹩\n");printf("\t﹩﹩\n");printf("\t﹩ 5.返回上层菜单﹩\n");printf("\t﹩﹩\n");printf("\t﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩﹩\n");scanf("%d",&i);switch(i){case(0):system("cls");readfile2();break;case(1):system("cls");LogOn();break;case(2):system("cls");modify1();break;case(3):system("cls");mimacharge();break;case(4):system("cls");lookchengji();break;case(5):system("cls");panduan();break;default:system("cls");printf("\n\n 请输入0-5的数字,按任意键返回上一菜单\n");system("pause");students();break;}}void help(){printf("\n0.欢迎使用系统帮助!\n");printf("\n1.本系统由309为您提供;\n");printf("\n2.按照菜单提示键入数字代号;\n");printf("\n3.如有疑问或者遇到bug请联系309小组;\n");printf("\n4.谢谢您的使用!O(∩_∩)O\n\n\n");void readfile1()/* 建立信息*/{char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("D:\\student.txt","r"))==NULL){printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s%d%s %s %s %s %s %s %s %s %s ",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail,stu[i].password,stu[i].maogao,stu[i].gaoshu,stu[ i].cyuyan)==12){i++;i=i;}fclose(fp);n=i;}void readfile2()/* 建立信息*/{char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("D:\\student.txt","r"))==NULL){printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s %d %s %s %s %s %s %s %s %s %s",stu[i].code,stu[i].name,&stu[i]. age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail,stu[i].password,stu[i].maogao,stu[i].gaoshu,stu[i].cyuyan)==12){i++;i=i;}fclose(fp);n=i;students();}void readfile()/* 建立信息*/{char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("D:\\student.txt","r"))==NULL){printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s%d%s %s %s %s %s %s %s %s %s ",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail,stu[i].password,stu[i].maogao,stu[i].gaoshu,stu[i].cyuyan)==12){i++;i=i;}fclose(fp);n=i;}void seek() /*查找*/{int i,item,flag;char s1[21]; /* 以姓名和学号最长长度+1为准*/printf("\n\t\t********O(∩_∩)O欢迎来到查询系统,请按提示操作******\n\n");printf("╭⌒╮¤` \n") ;printf("╭╭⌒╮●╭○╮ 1.按学号查询\n");printf("╰----╯/█∨█\\ 2.按姓名查询\n");printf("~~~~~~~~~~∏~~∏~~~~~~~~~~~ 3.返回上层菜单\n");while(1){printf("\n请选择子菜单编号:");scanf("%d",&item);flag=0;switch(item){case 1:printf("\n请输入要查询的学生的学号:");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf("\n\n\t\t\tO(∩_∩)O~~您要查找的信息如下\n\n");printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);printf("\n\n");system("pause");system("cls");seek();break;}if(flag==0){system("cls");printf("\n\t\t\t~~o(>_<)o ~~该学号不存在,请重新选择*********\n");seek();break;};break;case 2:printf("\n请输入要查询的学生的姓名:");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].name,s1)==0){flag=1;printf("\n\n\t\t\tO(∩_∩)O~~您要查找的信息如下\n\n");printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);printf("\n\n");system("pause");system("cls");seek();}if(flag==0){ system("cls");printf("\n\t\t\t~~o(>_<)o ~~该姓名不存在*********\n");seek();}break;case 3:system("cls");menu();break;default:system("cls");printf("\n\t\t\t***~\(≧▽≦)/~请在1-3之间选择********\n");seek();}}}void modify() /*修改信息*/{int i,k,item,num;k=0;char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准*/ printf("请输入要要修改的学生的学号:");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/{ k=1;num=i;printf("\n\n") ;printf("::∴★∵**☆.∴★∵**☆. 1.修改姓名\n");printf(" █████.☆.∵★∵∴☆. 2.修改年龄\n");printf(" █田█田█.*☆.∴★∵. 3.修改性别\n");printf(" █田█田█.★∵∴☆.★∵∴.4.修改出生年月\n"); printf(" █田█田█.★∵∴☆.★..**.5.修改地址\n");printf(" █田█田█.★★∵∴☆.★*☆.6.修改电话号码\n"); printf(" █████.7.修改E-mail地址\n"); printf("◢██□██◣.~~~~~*^_^* 8.退出本菜单\n ");printf("------------------\n");printf("------------------\n");while(1){printf("\n请选择子菜单编号:");scanf("%d",&item);switch(item){case 1:printf("\n请输入新的姓名:");scanf("%s",s2);strcpy(stu[num].name,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break; case 2:printf("\n请输入新的年龄:");scanf("%d",&stu[num].age);save();printf("\t\t\tO(∩_∩)O修改成功\n");break; case 3:printf("\n请输入新的性别:");scanf("%s",sex1);strcpy(stu[num].sex,sex1); save();printf("\t\t\tO(∩_∩)O修改成功\n");break; case 4:printf("\n请输入新的出生年月:");scanf("%s",s2);strcpy(stu[num].time,s2); save();printf("\t\t\tO(∩_∩)O修改成功\n");break; case 5:printf("\n请输入新的地址:");scanf("%s",s2);strcpy(stu[num].add,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break; case 6:printf("\n请输入新的电话号码:");scanf("%s",s2);strcpy(stu[num].tel,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break; case 7:printf("\n请输入新的E-mail地址:");scanf("%s",s2);strcpy(stu[num].mail,s2);save();printf("\t\t\tO(∩_∩)O修改成功\n"); break; case 8:system("cls");menu();break;default:printf("\n请在-8之间选择\n");}}}if(k==0){printf("\n\t\t*****/(ㄒoㄒ)/~~输入的学号有误*******\n\n");system("pause");system("cls");menu();}}void sort()/*按学号排序*/{int i,j,*p,*q,s;char temp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)if(strcmp(stu[j-1].code,stu[j].code)>0) {strcpy(temp,stu[j-1].code);strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].sex);strcpy(stu[j-1].sex,stu[j].sex);strcpy(stu[j].sex,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].add);strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp);strcpy(temp,stu[j-1].tel);strcpy(stu[j-1].tel,stu[j].tel);strcpy(stu[j].tel,temp);strcpy(temp,stu[j-1].mail);strcpy(stu[j-1].mail,stu[j].mail); strcpy(stu[j].mail,temp);p=&stu[j-1].age;q=&stu[j].age;s=*q;*q=*p;*p=s;}}}void insert() /*插入函数*/{ char s1[20]="0000";int i=n,j,flag;printf("请输入待增加的学生数:\n"); scanf("%d",&m);do{flag=1;while(flag){flag=0;printf("请输入第%d 个学生的学号:\n",i+1);scanf("%s",stu[i].code);for(j=0;j<i;j++)if(strcmp(stu[i].code,stu[j].code)==0){printf("已有该学号,请检查后重新录入!\n");flag=1;break; /*如有重复立即退出该层循环,提高判断速度*/}}printf("请输入第%d 个学生的姓名:\n",i+1);scanf("%s",stu[i].name);printf("请输入第%d 个学生的年龄:\n",i+1);scanf("%d",&stu[i].age);printf("请输入第%d 个学生的性别:\n",i+1);scanf("%s",stu[i].sex);printf("请输入第%d 个学生的出生年月:(格式:年.月)\n",i+1); scanf("%s",stu[i].time);printf("请输入第%d 个学生的地址:\n",i+1);scanf("%s",stu[i].add);printf("请输入第%d 个学生的电话:\n",i+1);scanf("%s",stu[i].tel);printf("请输入第%d 个学生的E-mail:\n",i+1);scanf("%s",stu[i].mail);strcpy(stu[i].password,s1);if(flag==0){i=i;i++;}}while(i<n+m);n+=m;printf("录入完毕!\n\n");save();system("pause");system("cls");menu();}void del(){int i,j,flag=0;char s1[LEN+1];printf("请输入要删除学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)stu[j]=stu[j+1];}if(flag==0){printf("\n\t\t****(⊙o⊙)…该学号不存在&&******\n");printf("\n");system("pause");system("cls");menu();}if(flag==1){printf("删除成功,显示结果请选择菜单\n");n--;save();printf("\n");system("pause");system("cls");menu();}}void display(){int i;printf("所有学生的信息为:\n");printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n");for(i=0;i<n;i++){printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}printf("\n\n");system("pause");system("cls");menu();}void save(){sort();int i;FILE *fp;fp=fopen("D:\\student.txt","w"); /*写入*/for(i=0;i<n;i++){fprintf(fp,"%s %s %d %s %s %s %s %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail,stu[i].password,stu[i].maogao,stu[i].gaoshu,stu[ i].cyuyan);}fclose(fp);}void menu()/* 界面*/{readfile();char num;printf("\n∞∞∞∞∞∞∞∞∞∞【学生信息管理系统(管理员界面)】∞∞∞∞∞∞∞∞∞∞∞∞∞\n");printf(" --------------------------------系统菜单显示如下------------------------------");printf("\n\t①===============【帮助信息】\n");printf("\n\t②===============【刷新数据】\n");printf("\n\t③===============【查询学生信息】\n");printf("\n\t④===============【修改学生信息】\n");printf("\n\t⑤===============【添加学生信息】\n");printf("\n\t⑥===============【删除学生信息】\n");printf("\n\t⑦===============【显示学生信息】\n");printf("\n\t⑧===============【保存学生信息】\n");printf("\n\t⑨===============【返回上层菜单】\n"); printf("请选择菜单编号:");scanf("%s",&num);switch(num){case '1':system("cls");help();system("pause");system("cls");menu();break;case '2':readfile();system("cls");menu();break;case '3':system("cls");seek();break;case '4':system("cls");modify();break;case '5':system("cls");insert();break;case '6':system("cls");del();break;case '7':system("cls");display();break;case '8':system("cls");save();system("cls");printf("\n\t\t\t$$$$O(∩_∩)O~~已保存信息&&&&&&\n\n");system("pause");system("cls");menu();break;case '9':system("cls");panduan();break;default:system("cls");printf("请在1-9之间选择\n");system("pause");system("cls");menu();}}void GetPassword(char *szFinalPass){char chValue,szPassword[20];int iCounter = 0; //定义计数器while ( 1 ){if( ( chValue = getch() ) != '\r' ) //如果输入的不是回车{if( chValue != '\b' ) //如果输入的不是退格{if ( iCounter <20) //如果长度并未超过密码的最大长度{szPassword[iCounter] = chValue;putchar( '*' ); //在屏幕上显示星号iCounter ++;}else{putchar( '\7' ); //如果密码已经超过最大长度,则响铃报警}}else{if( iCounter != 0 ) //如果按了退格,并且当前不是第一个字符{iCounter --;printf( "\b \b" ); //注意两个\b之间是有个空格的,含义是先退格,//然后打印空白字符将之前的字符覆盖掉,然后再退格使光标退回}}}else{szPassword[iCounter] = 0; //密码输入结束时将末尾以\0结尾!break;}}strcpy( szFinalPass ,szPassword ); //最终将密码复制出来}。
C语言课设学生系统源代码部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改说明:只提供源代码,有些需要自己创建文件请自行建立。
#include<stdio.h> /*I/O函数*/#include <conio.h>#include<stdlib.h> /*其它说明*/#include<string.h> /*字符串函数*/#define LEN 15 /* 学号和姓名最大字符数,实际请更改*/ #define N 100 /* 最大学生人数,实际请更改*/struct record /*结构体*/{char code[LEN+1]。
/* 学号*/char name[LEN+1]。
/* 姓名*/int age。
/* 年龄*/char sex[3]。
/* 性别*/char time[LEN+1]。
/* 出生年月*/char add[30]。
/* 家庭地址*/char tel[LEN+1]。
/* 电话号码*/char mail[30]。
/* 电子邮件地址*/char password[20]。
/*密码*/char maogao[20]。
char gaoshu[20]。
char cyuyan[20]。
}stu[N]。
int k=1,n,m。
/* 定义全局变量*/void readfile(>。
/* 函数声明*/void seek(>。
void modify(>。
void insert(>。
void del(>。
void display(>。
void save(>。
void menu(>。
void panduan(>。
void mima(>。
void students(>。
void xueshengdenglu(>。
void LogOn(>。
《打印月历》课程设计报告题目打印月历学号姓名年级专业指导教师完成日期年月日目录1实验目的2实验内容3源程序4测试数据5分析评价6实验心得一、实验目的1)在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。
2)通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。
二、实验内容打印月历1) 年份和月份由键盘输入,打印的月历按星期一到星期日排列;2) 注意大小月、闰年等问题。
三、源程序#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>int days[6][7];int mdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int mdays2[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};#define is_leap_year(y) ((!((y) % 4) && ((y) % 100)) || (!((y) % 400)))#define max_mdays(m, y) (is_leap_year(y) ? mdays2[m] : mdays[m])int diff_days(int y1, int m1, int d1, int y2, int m2, int d2){int d = 0;int md = max_mdays(m1, y1);while ((y1 != y2) || (m1 != m2) || (d1 != d2)){d++;d1++;if (d1 > md){d1 = 1;m1++;if (m1 >= 12){m1 = 0;y1++;}md = max_mdays(m1, y1);}}return d;}int get_wday(int y, int m, int d) {struct tm tm;time_t t;int cy, cm, cd, cw;int dd, w, f = 0;time(&t);tm = *localtime(&t);cy = tm.tm_year + 1900;cm = tm.tm_mon;cd = tm.tm_mday;cw = tm.tm_wday;if (cy < y){dd = diff_days(cy, cm, cd, y, m, d);f = 1;}else if (cy > y){dd = diff_days(y, m, d, cy, cm, cd);}else{if (cm < m){dd = diff_days(cy, cm, cd, y, m, d);f = 1;}else if (cm > m){dd = diff_days(y, m, d, cy, cm, cd); }else{if (cd < d){dd = diff_days(cy, cm, cd, y, m, d);f = 1;}else if (cd > d){dd = diff_days(y, m, d, cy, cm, cd);}else{dd = 0;}}}d=d+1;w = f ? (cw + (dd % 7)) : (cw - (dd % 7)) ;if (w < 0){w += 7;}w = f ? (w + ((d - 1) % 7)) : (w - ((d - 1) % 7));if (w < 0){w += 7;}return w;}int main(){int year, mon, day;int i, j, d, w, md;printf("please input the date: ");scanf("%d %d %d", &year, &mon, &day);if (((mon < 1) || (mon > 12))|| ((day < 0) || (day > mdays[mon - 1]))){printf("error! [1 <= mon <= 12] [1 <= day<= 31]\n");return -1;}w = get_wday(year, mon - 1, day);md = max_mdays(mon - 1, year);d = 1;while (d <= md){i = w / 7;j = w % 7;days[i][j] = d++;w++;}printf("\n date: %d year %d mon %dday\n", year, mon, day);printf("==========================================\n"); printf(" %2s %2s %2s %2s %2s %2s %2s\n", "MON", "TUE", "WED", "THU", "FRI", "SAT","SUN");for (i = 0, d = 0; i < 6; i++){for (j = 0; j < 7; j++){if (days[i][j]){d++;(d == day) ? printf("[%2d]", d) : printf(" %2d ", d);}else{printf("%-4s", "");}}printf("\n");}printf("============================================\n"); system("pause");return 0;}四、测试数据任意输入一个日期得到结果:再次尝试输入一个闰年例如2000年2月:得到结果:五、分析评价流程图:我在设计这个程序时采用了使用函数来实现各个打印月历的功能。
c语言入门源代码C语言作为一种非常流行和广泛应用的编程语言,在计算机科学领域发挥了重要作用。
掌握C语言编程的基本知识和技能是初学者的首要任务。
本文将为你提供一些C语言入门的源代码示例,帮助你更好地理解和掌握C语言编程。
代码示例一:Hello World#include <stdio.h>int main() {printf("Hello World!\n");return 0;}这是一个经典的C语言程序,用于向屏幕输出"Hello World!"。
在C 语言中,使用printf函数来实现输出操作。
其中,"\n"表示换行符,用于使输出在新的一行显示。
代码示例二:求和#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d\n", sum);return 0;}这段代码演示了如何实现两个整数的求和。
首先,使用printf函数提示用户输入两个整数。
接下来,使用scanf函数从用户处获取输入的整数值,并将它们分别赋给num1和num2变量。
然后,将num1和num2变量相加得到sum变量的值,并使用printf函数输出结果。
代码示例三:判断奇偶数#include <stdio.h>int main() {int num;printf("请输入一个整数:\n");scanf("%d", &num);if(num % 2 == 0) {printf("%d是偶数。
\n", num);}else {printf("%d是奇数。
西安郵電學院C语言课程设计报告书系部名称通信工程系学生姓名王子源专业名称通信工程专业班级通工0901班学号03091001指导教师衡霞2010年06月07日至时间2010年06月18日实验题目学生宿舍管理系统一、实验目的通过进行计算机实践,更加系统地理解和掌握C语言的基本概念、语言特点和编程技巧。
利用系统提供的标准函数和自定义函数进行程序设计,培养利用C语言设计综合程序的能力。
二、实验内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用。
三、需求分析本学生信息管理系统包含输入记录,显示记录,按房间号排序并显示,按学号排序并显示,插入一条记录按学号排序并显示,按姓名查找,删除一条记录,查找并显示一个记录,查找并修改一个记录,从文件中读入数据,循环写入数据等功能.需求分析:输入记录(Input)显示记录(Display)按房间号排序并显示(Sort_by_roomnum)按学号排序并显示(Sort_by_num)插入一条记录按学号排序并显示(Insert_a_record)按姓名查找,删除一条记录(Delete_a_record)查找并显示一个记录(Query_a_record)查找并修改一个记录(Change_a_record)从文件中读入数据(AddfromText)循环写入数据(WritetoText)四.概要设计1.系统分析功能模块图:总目录以及下属的各个模块,这样可以使得程序的书写脉络清晰流畅。
程序结构图2、模块功能说明(1)输入记录模块(Input):用于输入学生的各项信息(2)显示记录模块(Display):按照输入的顺序显示出每个学生的各项信息(3)按房间号排序并显示模块(Sort_by_roomnum):按照房间号顺序显示每个学生信息(4)按学号排序并显示模块(Sort_by_num):按照学号顺序显示每个学生信息(5)插入一条记录按学号排序并显示模块(Insert_a_record):插入一条记录并按学号显示出所有记录。
实验报告一、问题陈述及其需求分析(一)问题陈述学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:(1)增加一个学生的信息(需输入要增加学生的所有信息);(2)统计本班学生总人数及男女生人数。
(3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。
(4)按学号对所有学生信息排序,并输出结果;(5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。
( 二 ) 功能需求分析学生信息管理系统设计学生信息包括:学号,姓名,性别,出生年月,电话使之提供以下功能:1、系统以菜单方式工作2、建立链表并显示3、插入新的学生信息4、删除某学号的学生信息5、查找某学号的学生信息6、对学生信息排序7、统计学生人数8、输出学生信息二总体设计(一)模块依据程序的数据结构,描述该程序的层次结构,如下图:1、建立链表并显示void createlist(struct stucode **r);2、插入新的学生信息void insert(struct stucode **r);3、删除某学号的学生信息void del(struct stucode **r);4、查找某学号的学生信息void search1(struct stucode *r);5、对学生信息排序void sort(struct stucode **r);6、统计学生人数void search2(struct stucode *r);7、输出学生信息void out(struct stucode *r);(二)程序总体框架模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。
程序总体框架是该程序的总体流程图。
改程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。
因此选用菜单方式是较佳的方案,程序总体框架如下图:(三) 运行环境(软,硬件环境)硬件:CPU, 内存,主板,硬盘,显卡,键盘,显示器等等。
c语言课程设计源代码
Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT
学校运动会管理系统
问题描述:
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
(2) 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得
分 1;
(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总
分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
程序代码:
#include<>
#include<>
#define N 3
#define M 3
#define W 3
char* n_number[3]={"1","院系2","院系3"};
char* m_number[3]={"1","男项2","男项3"}; if(strcmp(stu[i].xiangmu,w_number[k])==0) printf("%s\n","输入信息有误,请重新输入!"); printf("%s\n","本条信息录入完毕!"); printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n"); printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].xiangmu,stu[i].score,stu[i]. void find() 询院系比赛成绩************\n"); printf("\t************2.查询个人比赛成绩************\n"); printf("请输入编号:"); printf("%s\t%s\t%s\t%s\t%d\n",stu[j].ximing,stu[j].num,stu[j].name,stu[j].xiangmu,stu[ printf("没有找到相应的院系:\n"); printf("输入你要查找运动员的号码:"); printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,&stu[i].xiangmu,stu[i].score,stu[ printf("你要找的运动员未找到:\n");
char* w_number[3]={"女项1","女项2","女项3"};
int size=2;
struct student
{
char num[10];
char name[20];
char xiangmu[20];
int score;
char ximing[20];
}stu[100],temp;
void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing);
iming,n_number[0])==0)
iming);
iming,n_number[h])==0)
for(int s=0;s
if(strcmp(stu[i].xiangmu,m_number[s])==0)
temp = 1;
else
{
for(int k=0;k
temp = 1;
}
}
if(temp==0){
i=i-1;
}
else
}
printf("%s\n","所有信息录入完毕!");
for(i=0;i
ximing);
}
char fs[20];
while(1){
int tt=0;
scanf("%d",&tt);
switch(tt)
{
case 1:{
temp =0;
scorez = 0;
printf("输入要查询的院系名称:");
scanf("%s",&fs);
printf("输出:\n系名,运动员号码,姓名,项目名,成绩:\n");
for(int j=0;j
if(strcmp(stu[j].ximing,fs)==0)
{
temp =1;
j].score);
scorez = scorez +stu[j].score;
}
}
if(temp==0)
else
printf("学院总成绩为:%d\n",scorez);
break;}
default:
temp =0;
scanf("%s",&fs);
printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n");
for(int i=0;i
if(strcmp(stu[i].num,fs)==0)
{
temp =1;
i].ximing);
}
}
if(temp==0)
{
printf("该运动员缺赛或不存在!\n");
}
}
}
}
void main()
{
input() ;
find() ;
}