C语言课程设计论文

时间:2024.4.5

                    华 北 水 利 水 电 学 院

 课  程  设  计

报告书

20##——20##学年

学期

环 节  名 称:    C语言课程设计          

学生专业班级:     2010统计学             

指 导  教 师:  张贞贞、闫雒恒、皇甫中民、

院        系 :数学与信息科学学院         

学 生  姓 名:       李晨光                  

学 生  学 号:     201015110               

           


课  程  设  计  任  务  书

注:此套表填写一式三份,于课程设计前一周分别交至教学督导团、教务科、教研室


课  程  设  计  计  划  书

注:指导教师在课程设计期间每天指导时间不少于2小时。

教学院长、教学主任:                       教研室主任:                        

填表人:  张贞贞闫雒恒              填表时间:  20## 年 12 月15日  

一、  必做题

1.  有3个学生,各学4门课,计算总平均分数,并查找有一门以上课程不及格的学生,打印输出他们的全部课程成绩。(通过函数调用完成)

C程序如下:

#include <stdio.h>

#include <math.h>

#define  M   3

#define  N   4

void Line(char c,int a )  //输出打印头文件

{ int i;

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

         printf("%c",c);

 printf("\n");

}

void fun(float a[M][N])      //定义学生成绩处理的fun函数

 {  int i,j;

   float  sum,A[M];

       float  ave=0.0;

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

          { sum=0.0;

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

               sum+=a[i][j];

            A[i]=sum/N;          //计算每个学生的平均成绩

              }

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

           ave+=A[i]/M;          //计算总平均成绩并输出

       Line('-',60);

       printf(" Total of scores' average : %6.2f\n",ave);

    Line('-',60);

       printf(" The failed student:\n\n ");

    for(i=0;i<M;i++)          //输出有一门以上成绩不及格学生学号

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

          if(a[i][j]<60)

                 {  printf(" Test failed student ID: No. %d.\n",i+1);

                   break;

                 };

   Line('-',60);

   printf(" Output  all  sutdents'  score : \n\n");//输出所有学生成绩

   printf(" ID \t class1\t class2\t class3\t class4\t Average\n");

  

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

    { printf(" No.%d",i+1);         //输出学生学号

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

        printf("\t %6.2f",a[i][j]);

         printf("\t %6.2f \n",A[i]);

       }

Line('-',60);

}

void main()

{ int i,j,flag=0;

 float a[M][N];

 Line('-',60);

 printf(" Input 3 students with each 4 scors:\n\n"); //提示输入成绩

for(i=0;i<3&&flag==0;i++)                    

       for(j=0;j<4;j++)             //运用双重FOR循环输入学生成绩

           { scanf("  %f",&a[i][j]); 

         if((a[i][j]<0)||(a[i][j]>100))     //检验输入成绩是否有误

               { printf("Input Error !!!\n");

                    flag=1;

             break;

                    printf("\n");

                  }

           }

if(flag==0)

   fun(a);                //调用fun函数输出处理后学生成绩

}

程序运行结果如下所示:                    

                           图1

2.将一组字符串按字典顺序输出。(通过函数调用完成)

C程序如下:

#include<stdio.h>

#include<string.h>

#define M  5

#define N  20

void Line(char c,int a )            //输出打印头文件

{ int  i;

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

printf("%c",c);

 printf("\n");

}

void sort(char s[M][N],char str[N]) //定义字典排序sort函数

{  int i,j;

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

     for(j=i+1;j<M;j++)

        if(strcmp(s[i],s[j])>0)   //不同字符串字典排序

           { strcpy(str,s[i]);

            strcpy(s[i],s[j]);

            strcpy(s[j],str);

           }

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

    printf("  %s ",s[i]);

}

void main()

{  int i;

  char a[M][N],arr[N];

  Line('-',60);

  printf(" Input English string array:\n\n");  //提示输入字符串

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

scanf("  %s",a[i]);

  printf("\n");

  Line('-',60);

  printf(" Output the old string array:\n\n"); //提示输出字符串

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

     printf("  %s ",a[i]);

  printf("\n");

  Line('-',60);

  printf(" Output the sorted  string array:\n\n");//提示输出排序后的字符串

  sort(a,arr);

  printf("\n");

  Line('-',60);

  printf("\n");

}

程序运行结果如下:

                              图2

3.输入一行字符,要求完成:

(1)每个单词中的第一个字母改成大写字母(如果原来已是大写字母则不变)。

(2)全变成大写字母

(3)全变成小写字母

要求:以函数的形式实现,在main函数中调用,要支持输入

编写C程序如下:

#include<stdio.h>

#include<string.h>

#define  M  50

void Line(char c,int a )  //输出打印头文件

{ int i;

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

 printf("%c",c);

  printf("\n");

}

void change1(char a[M])  //定义一个函数change1    

{  int i;

  if(a[0]>='a'&&a[0]<='z')

    {  a[0]=a[0]-32;

      for(i=1;i<M-1;i++)

{ if(a[i]==' '&&(a[i+1]>='a'&&a[i+1]<='z'))

         a[i+1]=a[i+1]-32; }

   }

 else  if(a[0]>='A'&&a[0]<='Z') //将字符串中各单词的首个小写字母变为大写

          { for(i=1;i<M-1;i++)

             if(a[i]==' '&&(a[i+1]>='a'&&a[i+1]<='z'))

        a[i+1]=a[i+1]-32;

          }

else

  printf("The first character is a blank");

  Line('-',70);

  printf(" Output first char_uppercase:  ");

  puts(a);

  printf("\n");

}

void change2(char a[M])                     //定义一个函数change2

{  int i;

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

    if(a[i]>='a'&&a[i]<='z')

            a[i]=a[i]-32;          //将字符串中所有小写字母变为大写字母

  Line('-',70);

  printf(" Output English uppercase:   ");

  puts(a);

  printf("\n");                                                             

}

void change3(char a[M])             //定义一个函数change3

{  int i;

  for(i=0;i<M;i++)                 //将字符串中所有大写字母变为小写字母

{ if(a[i]>='A'&&a[i]<='Z')

a[i]=a[i]+32;

}

  Line('-',70);

  printf(" Output English  letters:   ");

  puts(a);

  printf("\n");

  Line('-',70);

  printf("\n");

}

void main()

{ int i,l,flag=0;

char a[M];

 Line('-',70);

printf("\n Input  English string:   ");  //提示输入英文字符串

gets(a);

printf("\n");

Line('-',70);

printf(" Output the old  string:    ");

puts(a);

printf("\n");

l=strlen(a);

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

   if(a[i]=='\0')

{ flag=1;

     break;

}

for(i=0;i<l;i++)          //检查输入字符是否为英文字符或空格                                         

   if((a[i]<'A'&&a[i]!=' ')||(a[i]>'Z'&&a[i]<'a')||(a[i]>'z'))

{ printf(" Input Error !!!\n");

       flag=1;

       break;

}

 if(flag==0)

{ change1(a);

change2(a);

change3(a);

}

}

程序运行结果如下:

                          图3

                    通讯录管理系统

2、个人通讯录管理系统

一、需求分析

设计一个通讯录管理系统,以实现以下功能:

(1)信息添加功能

(2)信息查询功能

(3)信息修改功能

(4)信息删除功能

(5)信息排序功能

(6)信息浏览功能

(7)读取数据文件

(8)新建数据文件

需求说明:

(1)通讯录中的每一个信息包括姓名(规定字节数为15个)、电话(规定字节数为15个)和工作单位(最大字节数为30个)等信息。

(2)录入的信息要求存入文件,并可以通过读取数据文件进行查询、修改、删除和浏览等基本操作。

(3)对通讯录中的信息要求分别按照序号和姓名两种方式进行查询,并返回符合条件的信息。

(4)对通讯录中的信息修改应逐个进行,一个信息记录的修改不应该影响其他的信息记录。

(5)对通讯录中的信息要求分别按照序号和姓名两种方式进行删除,并保存删除后的信息。

(6)对通讯录中的信息要求分别按照序号和姓名两种方式进行排序,并返回排序后的信息。

(7)所设计的通讯系统要求以菜单方式工作,为用户提供清晰的使用提示,根据用户的选择进行各种处理。

二、总体设计

(1)设计主控制菜单程序(menu()函数),实现菜单选择模块。

①输出功能菜单(包括新建、读取文件、添加、查询、修改、删除、浏览、排序等)。

②按提示信息选择功能菜单,并输出返回值。

(2)设计New()函数,实现新建数据文件功能。

(3)设计Load()函数,实现文件读取功能,若文件不存在,则返回New(),进入新建数据文件。

(4)设计Add()函数,实现信息添加功能,分别录入序号、姓名、电话和工作单位。若序号已存在,则重新输入。

(5)设计Qur()函数,实现信息查询功能,通过设计提示菜单,实现按序号和姓名两种方式查询。

(6)设计Modify()函数,实现信息修改功能,在修改前,首先显示所有信息,然后通过序号实现修改。

(7)设计Del()函数,实现信息删除功能,通过设计提示菜单,实现序号和姓名两种方式进行删除。

(8)设计Sort()函数,实现信息排序功能,通过设计提示菜单,实现按序号和姓名两种方式进行排序。

(9)设计Disp()函数,实现信息浏览功能。

(10)设计Save()函数,实现信息保存功能,将新建或读取的文件,在退出程序后进行保存。

三、详细设计

四、编写代码

五、调试总结

                              


第二篇:C语言课程设计论文要求


C语言课程设计论文要求

目录(顶部居中、小二号黑体加粗)(***目录为自动生成***)

论文(设计)题目(居中、小二号黑体加粗)

(空一行)

【内容摘要】(空二格,五号楷体加粗)内容(五号楷体,150-300字)

(空一行)

【关键词】 (空二格,五号楷体加粗)关键词内容(五号楷体、每两个关键词之间空一格,一般3—5个)

(内容摘要是对文章内容的简要概述,一般字数为150至300字;关键词应是文章的关键概念、词组,一般在3至5个,最多不超过8个。 “内容摘要”起首空两格,项目名称用5号楷体加粗,内容用5号楷体,1.5倍行距;“关键词”另起一行,起首空两格,项目名称用5号楷体加粗,内容用5号楷体,词间空一格。)

正文内容:除一、二、三级标题外,文字统一用小4号宋体,每段起首空两格,回行顶格,1.5倍行距;

正文文中标题:

一级标题:标题序号为“一、”,用4号黑体加粗,独占行,末尾不加标点;

二级标题:标题序号为“(一)”,用小4号黑体加粗,独占行,末尾不加标点;

三级标题:标题序号为“1、”,用小4号黑体加粗,若独占行,则末尾不加标点,若不独占行,标题后面须加句号;

四级标题:标题序号为“(1)”,用小4号宋体,其余要求与三级标题相同;

五级标题:标题序号为“①”,用小4号宋体,其余要求与三级标题相同。

注意:每级标题的下一级标题应各自连续编号。

(空一行)

一、(一级标题)(四号黑体加粗)独占行,末尾不加标点

(一)(二级标题)(小四号黑体加粗)独占行,末尾不加标点

1、(三级标题)(小四号黑体加粗)

(1)(四级标题)小四号宋体

(正文内容用小四号宋体、下同)

二、(一级标题)(四号黑体加粗)独占行,末尾不加标点

(空一行)

结语(四号黑体加粗)(根据需要)

结语具体内容(用小四号宋体)

二、打印与装订

毕业论文(设计)统一用A4纸打印,行距1.5倍,页边距上、下、左、右均2.5厘米(设计论文全文应连续页码,从目录开始编写页码,目录为I、II样式,正文1、2、3样式)及左侧装订。装订内容及顺序包括:1、封面;2、目录;3、正文。

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言程序设计基础课程设计报告

程序设计基础课程设计报告课程名称课程设计题目程序设计基础课程设计学生信息管理系统姓名系专业年级学号指导教师职称计算机科学技术系计算机网络技术讲师20xx年1月1日一设计题目及要求1题目学生信息管理系统2要求1建...

《C语言程序设计》课程设计报告格式 (2)

C语言程序设计课程设计报告20xx20xx学年第1学期专业软件工程软件测试服务班级1班姓名学号陈家汀指导教师谢小竹成绩计算机与信息工程学院20xx年1月12日目录一课程设计的目的与要求页码二方案实现与调试页码2...

C语言课程设计报告---学籍信息管理系统

中国地质大学本科生课程论文封面1课程设计评语注1无评阅人签名成绩无效2必须用钢笔或圆珠笔批阅用铅笔阅卷无效3如有平时成绩必须在上面评分表中标出并计算入总成绩2目录课程设计评语2目录31课程论文题目42程序设计思...

C语言课程设计报告_运动会分数统计系统

C语言课程设计报告_运动会分数统计系统一.需求分析1问题描述运动会分数统计系统参加运动会有n个系,系编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前…

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

c语言程序设计课程设计报告(34篇)