c语言实习报告(3300字)

发表于:2020.10.15来自:www.fanwen118.com字数:3300 手机看范文

语言课程实习报告

所 在 院 系 数理学院 班 级 学 号 姓 名

程序 已存档 指 导 老 师

评 分

二零一零年七月十五

1 C

目 录

一.题目要求…………………………….3

二.需求分析……………………………. 3

三.总体设计……………………………. 3掌握

四.详细设计…………………………… 4

1. 主函数…………………………………4

(1)流程图…………………………………………. 4

(2)主函数程序……………………………………. 5

2.各功能模块?????????? 7

(1).查询模块……………………………………… 7 〈1〉流程图…………………………………………………….. 7 〈2〉程序……………………………………………………….. 8

(2)机位预定模块????????????. 9 〈1〉流程图…………………………………………. 9 〈2〉程序……………………………………………. 10

(3)退出预定模块????????????? 11 〈1〉流程图…………………………………………. 11 〈2〉程序……………………………………………. 11

五.总结…………………………………14

2

一.题目要求

设计“机房机位预约系统”,要实现查询,机位预定,退出预定,查询是否有等待信息等功能模块,机位信息一文件存放,功能选择用菜单实现,要求:有20台机器,从早8点到晚8点,每两小时为一个时间段。

二.需求分析

根据题目要求,由于机位信息是存放在文件中,所以应提供文件输入输出等操作;在程序中需要查询机位信息和预定机位,应提供显示,查找等操作,另外还要提供键盘式选择菜单实现功能选择。

三.总体设计

1. 主函数 四.详细设计

主函数一般设计的比较简洁,只提供输入,功能处理和输出部分的函数调用。其中各功能模块用菜但方式选择;另外,菜单部分也可以写成函数。流程图如下:

c语言实习报告

3

c语言实习报告

程序:#include<stdio.h>

#include<string.h>

void search();

void place();

void call();

struct cinformation

{

int number;

int condition[6];

}computer[21];

int d[20];

char b[ ]="placed";

void main( )

{int n,w1;

int i,j;

for(i=1;i<=20;i++)

{

computer[i].number=i;

for(j=0;j<6;j++)computer[i].condition[j]=0;

}

4

while(1)

{

do

{puts("\t\t***************主菜单****************\n\n"); puts("\t\t\t\t 1.机位查询");

puts("\t\t\t\t 2.机位预定");

puts("\t\t\t\t 3.退出预定");

puts("\t\t\t\t 4.退出");

puts("\n\n\t\t************************************\n"); printf("Choice your number(1-4):[ ]\b\b");

scanf("%d",&n);

if(n<1||n>4)

{

w1=1;

getchar();}

else w1=0;

}while(w1==1);

switch(n)

{case 1:search();break;/*查询*/

case 2:place();break;/*机位预定*/

case 3:call();break;/*退出预定*/

case 4:return;/*退出*/

}

}

}

运行结果:

c语言实习报告

5

2. 各功能模块设计

(1) 查询

[流程图]

[程序] void search()

{

int i,j;

{ printf("computer %2d: ",i);

for(j=0;j<6;j++)

if(computer[i].condition[j]==0)

printf("time %2d ",j);

printf("\n");}

getchar();getchar();

} 运行结果:

c语言实习报告

6

(2) 机位预定模块

[流程图]

c语言实习报告

c语言实习报告

7

[程序] void place()

{int m,n;

printf("选择预约机号:[ ]\b\b"); scanf("%d",&m);

printf("选择预约时间段:[ ]\b\b"); scanf("%d",&n);

if(computer[m].condition[n]==0) {computer[m].condition[n]=1; printf("预约成功\n");}

else if(computer[m].condition[n]==1) printf("已被预约");

return;

}

c语言实习报告

运行结果:

8

(3)退出预定模块

[流程图]

[程序] void call()

{char x;int i,j;

printf("输入欲退出预约的机号:[ ]\b\b");

scanf("%d",&i);

printf("输入欲退出预约的时间段:[ ]\b\b");

scanf("%d",&j);

printf("确定退出预约:“是”输入y),“否”输入n):[ ]\b\b");getchar(); scanf("%c",&x);

if(x=='y')

{

computer[i].condition[j]=0;

printf("退出预约成功");

}

if(x=='n') {

computer[i].condition[j]=computer[i].condition[j]; }

getchar();getchar();

}

运行结果:

c语言实习报告

9

五.总结

一周的实习终于结束了,经过一个星期的实践,我才发现原来我的c语言掌握得并不象期末考试成绩反映的那样,通过这一次实习,让我感受到了上课听课的重要性,最典型的就是如果上课不听课,我就不知“b\b”是什么了。不仅如此,这次实习还锻炼了我的毅力,教会了我凡事要亲自动手。记得实习刚开始老师说这几天就编一个程序,乐得我们都以为这次实习只是一种形式,还可以免费上网,当我开始干的时候才发现我们错了,刚拿到题目,我一脸茫然,毫无头绪,于是前两天不是上网就是翻纸牌,心想到时候百度一下就完了,但后来我想想,如果是这样的话来了就没意义了,于是便开始自己试着编。由于知识掌握不够牢固,在编写的过程中发现愈发的无聊,但我还是坚持自己编,不懂的地方问同学,最后实在没思路了,只能求救老师了,最后在老师的帮助下终于完成了。

我想,这次实习一定会给我留下很深的印象,虽然最后没有自己完成,但我依旧可以骄傲的说我没有抄袭,我问心无愧,而且我能在极度无聊的情况下坚持天天来,并自己编,这在一定程度上锻炼了我的毅力,单凭这一点我就可以说我这几天没白来,而且过得很有意义!

c语言实习报告

10

11




第二篇:C语言上机实习报告 8200字

一、系统题目

简易教学管理系统的设计与实现

二、摘要

1.准备数据

用记事本创建两个文本文件,分别存放各学生各科成绩及各课程学分。 2.程序功能

程序执行后,生成一个菜单,通过菜单调用各个函数,从而实现所需要的各种功能.这些功能包括:

1.生成班级成绩表;

2.分析各课程成绩,并生成各科成绩分析表; 3.打印学生成绩条; 4.显示不及格学生名单; 5.显示优等生名单。

三、系统设计

1.系统功能模块框图

2.菜单结构图

C语言上机实习报告

计算机上机实习报告

3.数据结构说明

本程序定义了两个结构体,分别为student和kecheng。结构体student用来存放各学生的学号、姓名、各课程分数、平均分及名次;结构体kecheng用来存放各门课程编号、课程名称、学分、平均分、标准差及各分数段人数。 4.输入界面

C语言上机实习报告

要实现菜单中的各种功能,输入相应数字并按回车即可。

四、系统实现

几个主要函数流程图:

1.求加权平均分函数流程图

C语言上机实习报告

1

计算机上机实习报告

C语言上机实习报告

2.

C语言上机实习报告

2

计算机上机实习报告

3.求各课程标准差流程图

五、系统使用说明

程序执行后,会生成一个菜单,通过输入相应数字,完成各项功能。 操作步骤如下:

输入数字1回车,屏幕上会显示原始文件1;

输入数字2回车,屏幕上会显示原始文件2;

输入数字3回车,清空屏幕;

输入数字4回车,生成班级成绩表,保存路径:F//课程设计//MingC29.txt; 输入数字5回车,生成班级成绩分析表,保存路径:F//课程设计//KC29.txt; 输入数字6回车,打印成绩条,保存路径:F//课程设计//CJYG10708.txt; 输入数字7回车,屏幕显示不及格学生名单;

输入数字8回车,屏幕显示优等生名单,

输入数字0回车,退出程序。

六、测试数据

七、结论

八、附录

程序源代码:

#define M 20

#define N 5

#include <stdio.h>

C语言上机实习报告

3

计算机上机实习报告

#include <stdlib.h>

#include <math.h>

struct student

{

int num;

char name[20];

int score[N];

float ave;

int mingci;

}st[M];

struct kecheng

{

int num;

char kcname[20];

float xuefen;

float aver;

float bzhuncha;

int a;

int b;

int c;

int d;

int e;

}course[N];

void ReadDat1() /*读取并在屏幕上显示文件1*/ {

int i,j;

char str1[100];

FILE *fp;

if((fp=fopen("F:\\课程设计\\YG10708-29.txt","r"))==NULL) {

printf("cannot open the file!\n");

exit(0);

}

fgets(str1,100,fp);

printf("%s",str1);

for(i=0;i<M;i++)

{

fscanf(fp,"%d%s",&st[i].num,st[i].name);

printf("%2d%10s",st[i].num,st[i].name);

for(j=0;j<N;j++)

{

fscanf(fp,"%d",&st[i].score[j]);

printf("%8d",st[i].score[j]);

4

计算机上机实习报告

}

printf("\n");

}

fclose(fp);

}

void ReadDat2() /*读取并在屏幕上显示文件2*/

{

FILE *fp;

int k;

char str2[50];

fp=fopen("F:\\课程设计\\YG10708.txt","r");

fgets(str2,50,fp);

printf("%s",str2);

for(k=0;k<N;k++)

{

fscanf(fp,"%d%s%f",&course[k].num,course[k].kcname,&course[k].xuefen); printf("%-8d%-10s%7.2f\n",course[k].num,course[k].kcname,course[k].xuefen); }

fclose(fp);

}

void Read1() /*读取文件1*/

{

int i,j;

char str1[100];

FILE *fp;

if((fp=fopen("F:\\课程设计\\YG10708-29.txt","r"))==NULL)

{

printf("cannot open the file!\n");

exit(0);

}

fgets(str1,100,fp);

for(i=0;i<M;i++)

{

fscanf(fp,"%d%s",&st[i].num,st[i].name);

for(j=0;j<N;j++)

{

fscanf(fp,"%d",&st[i].score[j]);

}

}

5

计算机上机实习报告

fclose(fp);

}

void Read2() /*读取文件2*/

{

FILE *fp;

int k;

char str2[100];

fp=fopen("F:\\课程设计\\YG10708.txt","r");

fgets(str2,100,fp);

for(k=0;k<N;k++)

{

fscanf(fp,"%d%s%f",&course[k].num,course[k].kcname,&course[k].xuefen); }

fclose(fp);

}

void Jqave() /*求加权平均分*/

{

int i,j;

float s=0,sum;

for(i=0;i<N;i++)

s+=course[i].xuefen;

for(i=0;i<M;i++)

{

sum=0;

for(j=0;j<N;j++)

sum+=st[i].score[j]*course[j].xuefen;

st[i].ave=(int)(sum*10.0/s+0.5)/10.0;

}

}

void sort() /*排名次*/

{

int i,j;

for(i=0;i<M;i++)

{

st[i].mingci=1;

}

for(i=0;i<M;i++)

6

计算机上机实习报告

{

for(j=0;j<M;j++)

{if(st[i].ave<st[j].ave)

st[i].mingci++;}

}

}

void WriteCjd() /*打印成绩单*/

{

FILE *fp;

int i,j;

if((fp=fopen("F:\\课程设计\\MingC29.txt","w"))==NULL)

{

printf("Faile to build a new file!\n");

exit(0);

}

fprintf(fp,"名次 学号 姓名 英语 C语言 数学 制图 体育 平均成绩\n"); for(i=0;i<M;i++)

{

fprintf(fp,"%3d%4d%7s",st[i].mingci,st[i].num,st[i].name);

for(j=0;j<N;j++)

fprintf(fp,"%5d",st[i].score[j]);

fprintf(fp,"%8.2f\n",st[i].ave);

}

fclose(fp);

}

void WriteCjt() /*打印成绩条*/

{

FILE *fp;

int i,j;

if((fp=fopen("F:\\课程设计\\CJYG10707.txt","w"))==NULL)

{

printf("Faile to build a new file!\n");

exit(0);

}

for(i=0;i<M;i++)

{

fprintf(fp,"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");

fprintf(fp,"\n名次 学号 姓名 英语 C语言 数学 制图 体育 平均成绩\n"); fprintf(fp,"%3d%4d%7s",st[i].mingci,st[i].num,st[i].name);

for(j=0;j<N;j++)

7

计算机上机实习报告

fprintf(fp,"%5d",st[i].score[j]);

fprintf(fp,"%8.2f\n\n",st[i].ave);

fprintf(fp,"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\n"); }

fclose(fp);

}

void Ave() /*求各课程平均分*/

{

int i,j;

float sum;

for(i=0;i<N;i++)

{

sum=0;

for(j=0;j<M;j++)

sum=sum+st[j].score[i];

course[i].aver=(int)(sum*10.0/M+0.5)/10.0;

}

}

void BZcha() /*求各课程标准差*/

{

int i,j;

float sum,t;

for(i=0;i<N;i++)

{

sum=0;

for(j=0;j<M;j++)

{t=(st[j].score[i]-course[i].aver)*(st[j].score[i]-course[i].aver);

sum=sum+t;}

course[i].bzhuncha=sqrt(sum/M);

}

}

void Level() /*求各分数段人数*/

{

int i,j;

for(i=0;i<N;i++)

{ course[i].e=0;

course[i].d=0;

course[i].c=0;

8

计算机上机实习报告

course[i].b=0;

course[i].a=0;}

for(i=0;i<N;i++)

{

for(j=0;j<M;j++)

{if(st[j].score[i]<60) course[i].e++;

else if(st[j].score[i]<70) course[i].d++;

else if(st[j].score[i]<80) course[i].c++;

else if(st[j].score[i]<90) course[i].b++;

else if(st[j].score[i]<100) course[i].a++;}

}

}

void WriteKC() /*生成班级成绩分析表*/

{

FILE *fp;

int i;

if((fp=fopen("F:\\课程设计\\KC29.txt","w"))==NULL)

{

printf("Faile to build a new file!\n");

exit(0);

}

fprintf(fp,"编号 课程名称 课程平均分 标准差 优秀 良好 中等 及格 不及格\n"); for(i=0;i<N;i++)

{fprintf(fp,"%3d%7s%10.2f%10.2f",course[i].num,course[i].kcname,course[i].aver,course[i].bzhuncha);

fprintf(fp,"%5d%5d%5d%5d%5d\n",course[i].a,course[i].b,course[i].c,course[i].d,course[i].e);}

fclose(fp);

}

void fail() /*屏幕显示不及格学生名单*/

{

int i,j;

printf("不及格学生名单:\n");

printf("学号 姓名 不及格课程 课程学分 成绩\n");

for(i=0;i<N;i++)

{

for(j=0;j<M;j++)

if(st[j].score[i]<60)

printf("%3d%6s%8s%9.1f%7d\n",st[j].num,st[j].name,course[i].kcname, course[i].xuefen,st[j].score[i]);

9

计算机上机实习报告

}

}

void youxiu() /*屏幕显示优等生名单*/

{

int i,j,f[M];

printf("优等生名单:\n");

printf("名次 学号 姓名 英语 C语言 数学 制图 体育 平均成绩\n"); for(i=0;i<M;i++)

for(j=0;j<N;j++)

{f[i]=st[i].ave>=91||st[i].mingci<=4||st[i].ave>=85&&st[i].score[j]>=99; if(f[i]) break;}

for(i=0;i<M;i++)

{

if(f[i])

{printf("%2d%6d%6s",st[i].mingci,st[i].num,st[i].name);

for(j=0;j<N;j++)

printf("%5d",st[i].score[j]);

printf("%8.1f\n",st[i].ave);}

}

}

void menu() /*屏幕显示菜单*/

{

int c;

do

{

do

{

printf("\n\n ^_^ ^_^ ^_^简易教学管理系统^_^ ^_^ ^_^ \n"); printf(" @ 1.读取文件1 @\n"); printf(" @ 2.读取文件2 @\n"); printf(" @ 3.清空屏幕 @\n"); printf(" @ 4.生成班级成绩表 @\n"); printf(" @ 5.生成各课程成绩分析表 @\n"); printf(" @ 6.打印学生成绩条 @\n"); printf(" @ 7.不及格学生名单 @\n"); printf(" @ 8.优等生名单 @\n"); printf(" @ 0.退出系统 @\n"); printf(" ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ \n"); printf("\n请输入相应数字:");

10

计算机上机实习报告

scanf("%d",&c);

printf("\n");

if(c==0) system("cls"); printf("王俊致力于为您做最好的系统!\n欢迎再次使用! ^_~\n\n\n");

} while(c<0||c>8);

switch(c)

{

case 1:printf("文件1:\n");ReadDat1();break;

case 2:printf("文件2:\n");ReadDat2();break;

case 3:system("cls");printf("已完成!\n\n!");break;

case 4:WriteCjd();printf("已完成!\n\n");break;

case 5:WriteKC();printf("已完成!\n\n");break;

case 6:WriteCjt();printf("已完成!\n\n!");break;

case 7:fail();break;

case 8:youxiu();break;

}

} while (c);

}

void main()

{

Read1();

Read2();

Jqave();

sort();

Ave();

BZcha();

Level();

menu();

}

11

更多类似范文
┣ C语言实训心得总结 800字
┣ C语言实习指导题解 40800字
┣ 更多c语言实习报告
┗ 搜索类似范文

更多相关推荐:
C语言程序设计实习报告400字

实习报告题目C语言程序设计所属系部电气工程学院班级电子商务131姓名学号指导教师费玲玲20xx年6月一实习目的加深理解C语言基础知识及其编程技术了解高级程序设计语言的结构熟练掌握程序设计方法和技巧掌握基本的分析...

C语言实习报告模板300字

C语言程序设计实习报告部门数理学院专业班级学号姓名一实习时间20xx年4月2日二实习地点实验楼504机房三实习目的123四实习内容及方法1题目编程输出HelloWorld了解C语言的几种开发环境掌握VC60的集...

C语言实习报告7000字

新疆农业职业技术学院C语言程序设计教学实习报告部门信息技术分院专业计算机网络技术班级20xx高职网络2班姓名雷浩指导教师徐玉莲C语言程序设计教学实习报告班一实习时间20xx年12月27日至20xx年12月30日...

专栏推荐
大家在关注

地图地图CC