华北水利水电学院。
课程设计报告书。
2012——2013学年。
第二学期。环节名称: 高级语言课程设计(c语言)
专业班级: 信息与计算科学专业165班
姓名孙志攀。
学号201216511
院、系数学与信息科学学院
指导教师海燕。
1. 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①求最小数、最大数的位置 ;②进行对换处理③主函数。
程序源**:
#include<>
void ptin(int*p,int n)
int i;
printf("请输入%d个整数:",n);
for(i=0;i}
void pr(int*p,int n)
int i,*max,*min;
max=min=p;
for(i=1;i
i=*min;*min=*p;*p=i;
i=*max;*max=*(p+n-1);*p+n-1)=i;
void ptout(int*p,int n)
int i;
printf("输出%d个数:",n);
for(i=0;iprintf("");
void main()
int a[10];
ptin(a,10);
printf("处理前");
ptout(a,10);
pr(a,10);
printf("处理后");
ptout(a,10);
2. 将一组字符串按字典顺序输出。(通过函数调用完成)
程序源**:
#include<>
#include<>
void paixu(char *a,int n)
int i,j;
char *b;
for (i=0;i
void main ()
int i,n=10;
char c[10][20];
char *t[10];
printf("请输入十个字符串:")
for(i=0;i
paixu (t,n);
printf("按字典顺序排列,结果为: "
for(i=0;i printf("%s ",t[i]);
printf("");
3. 有两个链表a和b,结点中包含学号和姓名。编写函数delete,从a链表中删去与b链表中有相同学号的结点。
程序源**:
#include <>
#include <>
#define n 3
typedef struct student
int num;
char name[20];
struct student *next;
stu; stu *create()
int i;
stu *p,*head=null,*tail=head;
for (i=0;i
if(head==null)
head=p;
else tail->next=p;
tail=p;
return head;
void output(stu *p)
while (p!=null)
stu *del(stu *a,stu *b)
stu *head,*p1,*p2;
p1=p2=head=a; /让p1、p2、head结点指向链表a的头部
while (b!=null)
return head;
int main(int argc, char *ar**)
stu *a,*b,*c;
printf("请输入链表a的信息格式(学号姓名):");
a=create();
printf("请输入链表b的信息格式(学号姓名):");
b=create();
c=del(a,b);
printf("经过删除后,a链表信息为:");
output(c);
return 0;
程序的运行结果(i/o窗口截图)
选做题。任选其一)
一、 需求分析。
设计一个**簿管理系统,使之提供以下功能:
(1) 新建信息功能。
(2) 查询信息功能。
(3) 添加信息功能。
(4) 修改信息功能。
(5) 删除信息功能。
需求说明:1) **信息包括姓名(规定字节数为15)、**号码(规定字节数为15)和工作单位(最大字节数为30)等信息。
2) 录入的信息要求存入文件,并可以通过读取数据文件进行查询、修改、删除等基本操作。
3) 对**簿中的信息应能够分别按序号和姓名两种方式进行查询,并返回所有符合条件的信息。
4) 修改、删除、添加等操作要求可以按照序号和姓名两种方式进行,并返回操作后的信息。
5) 所设计的通讯系统要求以菜单方式工作,为用户提供清晰的使用提示,根据用户的选择进行各种处理。
6) 需设计主控制菜单程序(menu()函数),实现菜单选择模块。
7) 该系统中的各个子功能均需通过相应的自定义函数进行实现。
二、 总体设计。
初步提出解决方案,以及系统的体系结构和数据结构的设计方案,并写出书面总体设计说明书。
1)设计主控制菜单程序(menu()函数),实现菜单选择模块。
输出功能菜单(包括新建、读取文件、添加、查询、修改、删除、浏览、排序等)。
按提示信息选择功能菜单,并输出返回值。
2)设计new()函数,实现新建数据文件功能。
3)设计load()函数,实现文件读取功能,若文件不存在,则返回new(),进入新建数据文件。
4)设计add()函数,实现信息添加功能,分别录入序号、姓名、**和工作单位。若序号已存在,则重新输入。
5)设计qur()函数,实现信息查询功能,通过设计提示菜单,实现按序号和姓名两种方式查询。
6)设计modify()函数,实现信息修改功能,在修改前,首先显示所有信息,然后通过序号实现修改。
7)设计del()函数,实现信息删除功能,通过设计提示菜单,实现序号和姓名两种方式进行删除。
8)设计sort()函数,实现信息排序功能,通过设计提示菜单,实现按序号和姓名两种方式进行排序。
9)设计disp()函数,实现信息浏览功能。
10)设计s**e()函数,实现信息保存功能,将新建或读取的文件,在退出程序后进行保存。
三、 详细设计给出主要流程图。
1)系统功能模块图:
主菜单。新建文件。
读取文件。添加通讯录。
查询通讯录。
修改通讯录。
删除通讯录。
排序通讯录。
浏览通讯录。
新建:可以新建文件,新建文件自己输入文件名字。txt。
读取:通过成功读取可以在文件中实现以下功能。
添加:可以添加通讯录,依次输入序号、姓名、**、工作单位,会提示推出。
查询:可以选择用序号、姓名的方式查询。
修改:输入欲修改的那个人的信息,通过输入序号和姓名来修改通讯录信息。
删除:输入欲删除的那个人的序号或姓名,来删除信息。
排序:可以通过序号排序,或者通过姓名的拼音排序来排序。
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...