一个c/c++的编程问题

作者&投稿:毕垂 (若有异议请与网页底部的电邮联系)
c语言和c++是不是一个?~

不是同一个。
C++通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

扩展资料
c++特性
C++第一次引入 auto,一切都变得更简单了。auto 的概念是让 c++编译器在编译时自动推断数据的类型,而不是每次都要求你手动声明类型。如果数据类型是 map>>。
C++引入了 lambda 表达式,该表达式和 JavaScript 中的匿名函数非常相似。它们是没有命名的函数对象,并且基于一些简洁的语法在不同的作用域捕获变量,它们还可以分配给变量。
参考资料来源:百度百科—C++
参考资料来源:百度百科—c语言

第一题代码如下:
//First c++ program#include using namespace std;int main(){ cout << "Hello World"<<endl; return 0;}第二题代码如下:
#include using namespace std;int main(){ cout << "*"<<endl; cout << "***"<<endl; cout << "******"<<endl; return 0;}第三题代码如下:
#include using namespace std;int main(){int a,b,c; cout>a; cout>b;c=a*b; cout << "a*b="<<c<<endl; return 0;}

//一个比较类似的程序,你看看吧

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int shoudsave=0; /* */
struct student
{
char num[10];/* 学号 */
char name[20];
char sex[4];
int cgrade;
int mgrade;
int egrade;
int totle;
int ave;
char neartime[10];/* 最近更新时间 */
};

typedef struct node
{
struct student data;
struct node *next;
}Node,*Link;

void menu()
{
printf("********************************************************************************");
printf("\t1登记学生资料\t\t\t\t\t2删除学生资料\n");
printf("\t3查询学生资料\t\t\t\t\t4修改学生资料\n");
printf("\t5保存学生资料\t\t\t\t\t0退出系统\n");
printf("********************************************************************************\n");
}

void printstart()
{
printf("-----------------------------------------------------------------------\n");
}
void Wrong()
{
printf("\n=====>提示:输入错误!\n");
}

void Nofind()
{
printf("\n=====>提示:没有找到该学生!\n");
}

void printc() /* 本函数用于输出中文 */
{
printf(" 学号\t 姓名 性别 英语成绩 数学成绩 C语言成绩 总分 平均分\n");
}

void printe(Node *p)/* 本函数用于输出英文 */
{
printf("%-12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p->data.num,p->data.name,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);
}

Node* Locate(Link l,char findmess[],char nameornum[]) /* 该函数用于定位连表中符合要求的接点,并返回该指针 */
{
Node *r;
if(strcmp(nameornum,"num")==0) /* 按学号查询 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->data.num,findmess)==0)
return r;
r=r->next;
}
}
else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->data.name,findmess)==0)
return r;
r=r->next;
}
}
return 0;
}

void Add(Link l) /* 增加学生 */
{
Node *p,*r,*s;
char num[10];
r=l;
s=l->next;
while(r->next!=NULL)
r=r->next; /* 将指针置于最末尾 */
while(1)
{
printf("请你输入学号(以'0'返回上一级菜单:)");
scanf("%s",num);
if(strcmp(num,"0")==0)
break;
while(s)
{
if(strcmp(s->data.num,num)==0)
{
printf("=====>提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);
printstart();
printc();
printe(s);
printstart();
printf("\n");
return;
}
s=s->next;
}

p=(Node *)malloc(sizeof(Node));

strcpy(p->data.num,num);
printf("请你输入姓名:");
scanf("%s",p->data.name);
getchar();
printf("请你输入性别:");
scanf("%s",p->data.sex);
getchar();
printf("请你输入c语言成绩:");
scanf("%d",&p->data.cgrade);
getchar();
printf("请你输入数学成绩:");
scanf("%d",&p->data.mgrade);
getchar();
printf("请你输入英语成绩:");
scanf("%d",&p->data.egrade);
getchar();
p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;
p->data.ave=p->data.totle / 3;
/* 信息输入已经完成 */
p->next=NULL;
r->next=p;
r=p;
shoudsave=1;

}
}

void Qur(Link l) /* 查询学生 */
{
int sel;
char findmess[20];
Node *p;

if(!l->next)
{
printf("\n=====>提示:没有资料可以查询!\n");
return;

}
printf("\n=====>1按学号查找\n=====>2按姓名查找\n");
scanf("%d",&sel);
if(sel==1)/* 学号 */
{
printf("请你输入要查找的学号:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("\t\t\t\t查找结果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
else if(sel==2) /* 姓名 */
{
printf("请你输入要查找的姓名:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{
printf("\t\t\t\t查找结果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
else
Wrong();

}

void Del(Link l) /* 删除 */
{
int sel;
Node *p,*r;
char findmess[20];
if(!l->next)
{
printf("\n=====>提示:没有资料可以删除!\n");
return;
}
printf("\n=====>1按学号删除\n=====>2按姓名删除\n");
scanf("%d",&sel);
if(sel==1)
{
printf("请你输入要删除的学号:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n=====>提示:该学生已经成功删除!\n");
shoudsave=1;
}
else
Nofind();
}
else if(sel==2)
{
printf("请你输入要删除的姓名:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{
r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n=====>提示:该学生已经成功删除!\n");
shoudsave=1;
}
else
Nofind();
}
else
Wrong();
}

void Modify(Link l)
{
Node *p;
char findmess[20];
if(!l->next)
{
printf("\n=====>提示:没有资料可以修改!\n");
return;
}
printf("请你输入要修改的学生学号:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("请你输入新学号(原来是%s):",p->data.num);
scanf("%s",p->data.num);
printf("请你输入新姓名(原来是%s):",p->data.name);
scanf("%s",p->data.name);
getchar();
printf("请你输入新性别(原来是%s):",p->data.sex);
scanf("%s",p->data.sex);
printf("请你输入新的c语言成绩(原来是%d分):",p->data.cgrade);
scanf("%d",&p->data.cgrade);
getchar();
printf("请你输入新的数学成绩(原来是%d分):",p->data.mgrade);
scanf("%d",&p->data.mgrade);
getchar();
printf("请你输入新的英语成绩(原来是%d分):",p->data.egrade);
scanf("%d",&p->data.egrade);
p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;
p->data.ave=p->data.totle/3;
printf("\n=====>提示:资料修改成功!\n");
shoudsave=1;
}
else
Nofind();

}

void Disp(Link l)
{
int count=0;
Node *p;
p=l->next;

if(!p)
{
printf("\n=====>提示:没有资料可以显示!\n");
return;
}
printf("\t\t\t\t显示结果\n");
printstart();
printc();
printf("\n");
while(p)
{
printe(p);
p=p->next;
}
printstart();
printf("\n");
}

void Tongji(Link l)
{
Node *pm,*pe,*pc,*pt,*pa; /* 用于指向分数最高的接点 */
Node *r=l->next;
if(!r)
{
printf("\n=====>提示:没有资料可以统计!\n");
return ;
}
pm=pe=pc=pt=pa=r;
while(r!=NULL)
{
if(r->data.cgrade>=pc->data.cgrade)
pc=r;
if(r->data.mgrade>=pm->data.mgrade)
pm=r;
if(r->data.egrade>=pe->data.egrade)
pe=r;
if(r->data.totle>=pt->data.totle)
pt=r;
if(r->data.ave>=pa->data.ave)
pa=r;

r=r->next;
}
printf("------------------------------统计结果--------------------------------\n");
printf("总分最高者:\t%s %d分\n",pt->data.name,pt->data.totle);
printf("平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave);

printf("英语最高者:\t%s %d分\n",pe->data.name,pe->data.egrade);
printf("数学最高者:\t%s %d分\n",pm->data.name,pm->data.mgrade);
printf("c语言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade);
printstart();
}

void Sort(Link l)
{
Link ll;
Node *p,*rr,*s;

ll=(Link)malloc(sizeof(Node)); /* 用于做新的连表 */
ll->next=NULL;

if(l->next==NULL)
{
printf("\n=====>提示:没有资料可以排序!\n");
return ;
}
p=l->next;
while(p)
{
s=(Node*)malloc(sizeof(Node)); /* 新建接点用于保存信息 */
s->data=p->data;
s->next=NULL;

rr=ll;
while(rr->next!=NULL && rr->next->data.totle>=p->data.totle)
rr=rr->next;
if(rr->next==NULL)
rr->next=s;
else
{
s->next=rr->next;
rr->next=s;
}
p=p->next;
}
free(l);
l->next=ll->next;
printf("\n=====>提示:排序已经完成!\n");
}

void Save(Link l)
{
FILE* fp;
Node *p;
int flag=1,count=0;
fp=fopen("c:\\student","wb");
if(fp==NULL)
{
printf("\n=====>提示:重新打开文件时发生错误!\n");
exit(1);
}
p=l->next;

while(p)
{
if(fwrite(p,sizeof(Node),1,fp)==1)
{
p=p->next;
count++;
}
else
{
flag=0;
break;
}
}
if(flag)
{
printf("\n=====>提示:文件保存成功.(有%d条记录已经保存.)\n",count);
shoudsave=0;
}
fclose(fp);
}

void main()
{
Link l;/* 连表 */
FILE *fp; /* 文件指针 */
int sel;
char ch;
char jian;

int count=0;
Node *p,*r;
printf("\t\t\t\t学生成绩管理系统\n\t\t\t\t-------福建农业职业学院计应0501 黄欢(32号)\n");
l=(Node*)malloc(sizeof(Node));
l->next=NULL;
r=l;

fp=fopen("C:\\student","rb");
if(fp==NULL)
{
printf("\n=====>提示:文件还不存在,是否创建?(y/n)\n");
scanf("%c",&jian);
if(jian=='y'||jian=='Y')
fp=fopen("C:\\student","wb");
else
exit(0);
}
printf("\n=====>提示:文件已经打开,正在导入记录......\n");

while(!feof(fp))
{
p=(Node*)malloc(sizeof(Node));
if(fread(p,sizeof(Node),1,fp)) /* 将文件的内容放入接点中 */
{
p->next=NULL;
r->next=p;
r=p; /* 将该接点挂入连中 */
count++;
}
}

fclose(fp); /* 关闭文件 */
printf("\n=====>提示:记录导入完毕,共导入%d条记录.\n",count);

while(1)
{
menu();
printf("请你选择操作:");
scanf("%d",&sel);

if(sel==0)
{
if(shoudsave==1)
{ getchar();
printf("\n=====>提示:资料已经改动,是否将改动保存到文件中(y/n)?\n");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
Save(l);
}
printf("\n=====>提示:你已经退出系统,再见!\n");
break;
}
switch(sel)
{
case 1:Add(l);break; /* 增加学生 */
case 2:Del(l);break;/* 删除学生 */
case 3:Qur(l);break;/* 查询学生 */
case 4:Modify(l);break;/* 修改学生 */
case 5:Save(l);break;/* 保存学生 */
case 9:printf("\t\t\t==========帮助信息==========\n");break;
default: Wrong();getchar();break;
}
}
}

能把运行的问题写出来么,要不然不知道怎么帮你啊!


女生发个c是什么意思啊
女生发个c是什么意思啊1 c的意思是 娘 就是说人 默默唧唧 不太爷们 形容词,c即cissy,而cissy=sissy,sissy意为柔弱或怯弱的男孩、女孩子气的男孩 很c的gay,就是指娘娘腔的gay。c字母起源 1、字母C的产生可能是由于一个投掷棒的符号,像在古埃及的'象形文字里并很早出现在闪族的书面当中-...

想取一个以C开头的英文名(女生)
Candice莰蒂丝 Carina卡瑞娜 Carmen卡门 Carol凯罗尔 Caroline卡罗琳 Carry凯丽 Carrie凯莉 (Carol及Caroline的昵称,同Kerry)Cassandra卡桑德拉 Cassie凯西 (Catherine,Cassandra的昵称)Catherine凯瑟琳 (Katherine的英文形式,同Katherine)Cathy凯茜 (Catherine的昵称,同Kathy)Chelsea切尔西 Charlene沙琳 (同Caroline,C...

说一个人很C是什么意思?
说一个人很"C",一般情况下都是用于男人,表示这男人雌性荷尔蒙分泌过多,行为举止很像女生,好比走路扭屁股、兰花指之类的……这是G圈子里面的用语...

一个c程序的基本结构
一个C程序的基本结构包括预处理器指令、函数、注释、变量、控制结构、函数调用和返回值。1、预处理器指令:预处理器指令通常位于程序的最顶部,用于包含头文件、定义常量、宏等。2、函数:C程序由一个或多个函数组成。主函数(main())是程序的入口点,程序的执行从main()函数开始。其他函数可以定义...

上面两个小c下面一个大c
两个C一上一下交叉在一起的品牌是UnderArmour,中文名为安德玛。UnderArmour成立于1996年,是美国体育运动装备品牌,主要生产销售体育运动装备。标志是上下两个C交叉的图案,比卡帕的符号稍微复杂一些,两个C的形状有所不同,并且有一些细微的差别。两个C一上一下交叉在一起的品牌是UnderArmour,中文名为...

谁能帮我找个以C开头的单词作为英语名字吗?尽量好记,好听的,拜托了...
Carrie是Carol,及Caroline的简写(同Kerry)。Carrie给人的感觉是可爱,聪明的金发女孩, 可能有两种极端不同的个性;一个是好玩外向的女孩,另一个则是安静好独处的女子。CASSIE CATHERINE,CASSANDRA的简写。人们心目中的CASSIE是可爱,受欢迎的大学女生,快乐而甜美。CATHERINE (希腊)"纯真";Katherine的...

ps署名copyright后面加个(c)是什么意思
正确写法是copyright©,就是版权的意思。版权亦称“著作权”,是用来表述创作者因其文学和艺术作品而享有的权利的一个法律用语。可以受版权保护的作品包括小说、诗词、散文、论文、速记记录、数字游戏等文字作品;讲课、演说、布道等口语作品;配词或未配词的音乐作品;戏剧或音乐戏剧作品;哑剧和舞蹈...

人生其实就是一个“C”
是的,人生其实就是一个“C”,一个简简单单的“C”。或许会有人怪讶于我的武断,亦或许会有人会轻蔑地勾起嘴角以表示对这个命题的否定,但我想,应该或多或少会有那么几个人愿意“苟同”我的看法吧。我说人生是“C”,并不是纯粹的空穴来风。我们可以窥见“C”的运动轨迹并不笔直,也不平坦...

圆圈里一个“C”是什么意思?
圆圈里一个“C”是版权标记。中国传统使用的版权标记为 “版权所有” 字样。版权标记通常还须伴有关于作品版权情况的说明文字。例如《世界版权公约》规定,版权标记由版权符号©即英文copyright(版权)一词的首字母外加一个圆圈,版权所有者的姓名以及作品首次出版或注册年份三部分组成。版权标记须刊载在...

一个完整的C程序由什么组成?
如果一个变量声明时在前面使用*号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * 。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。5、字符串 C语言的字符串其实就...

涟源市18526643321: 请问一个C++的编程问题
廉例脑心: 关于这个问题,#include #include usingnamespacestd; inttransfer(inta,intmode) { intb,c; for(b=a,c=0;b>0;b/=mode) { c*=mode; c+=b%mode; } returnc; } intmain() { inta,b; cout>a; cout{ b=transfer(a,16); cout 评论0 0 0

涟源市18526643321: 一个简单的C++程序问题` -
廉例脑心: 第二个else应该加上if,第三个不用,而且else后面不用跟条件#include <iostream.h> int main() { int a; cout<<"请输入一个数:"<<endl; cin>>a; if (a>0) cout<<a<<"是一个正数."<<endl; else if (a<0) cout<<a<<"是一个负数."<<endl; else cout<<a<<"为零."<<endl; return 0; }

涟源市18526643321: 一个简单的C++编程问题
廉例脑心: 一般来说 越界是在数组中经常出现的一个异常 例如:你的数组是长度为5 即a【0】到a【4】 而你在循环的过程 使用到了a【5】 就会出现这种异常

涟源市18526643321: 一个C++的简单编程问题
廉例脑心: int F(int m,int n){ int x,y; int Num[200][2]; int i; static int NumIndex = 0; if (m<0||n<0) { return -1; } for (x=0;x<m;x++) { for (y=m;y>0;y--) { if (5*x+6*y==m&& x%2==0&&y%2==0) { Num[NumIndex][0] = x; Num[NumIndex][1] = y; NumIndex ++; } } }for (i=0;i<...

涟源市18526643321: c++的一些基础编程问题.
廉例脑心: 应该是你第二个 循环再第一个循环里才会有重复的吧, for(i=0;i&lt;=9;i++) { if((70+i)%6==0) a=70+i; for(i=0;i&lt;=9;i++) { if((40000+i*1000+900+a)%3==0) b=40000+i*1000+900+a; if(b!=0) cout&lt;&lt;b&lt;&lt;endl; } } 两个for语句,你仔细看下是不是...大一学的现在忘了 你的思路有问题吧,那个H是不是为未知变量的,你的编程思路不对的哈,你在仔细看下题目.

涟源市18526643321: C++编程问题 -
廉例脑心: 第1题:class Date{ public: int y,m,d; void init(int year,int month,int day) //init函数应加上相应的形参 { y=year; m=month; d=day; if(m>12||d>30){exit(0);} //测试输入的日期和月分是否合法. } int subDate(Date d) //日期相减函数 {//因为一年有360天,...

涟源市18526643321: c++ 一个编程题目 -
廉例脑心: #include #include using namespace std; void fun_xiao_da(string &x); int main() { string xiao; cin>>xiao; while (xiao!="q\0") { fun_xiao_da(xiao); cout cin>>xiao; } cout return 0; } void fun_xiao_da(string &x) { int i=0; while (x[i]!='\0') { x[i]=toupper(x[i]);...

涟源市18526643321: 向大家请教一个用C/C++编写多线程程序的问题? -
廉例脑心: 多线程程序的编写,是和操作系统和语言都有关系的.1.首先,操作系统需要支持多线程,很久之前的古老的操作系统是不支持多任务多线程的.当然,当前的操作系统都是支持多线程的.但是,不同的操作系统具体如何支持的细节是不太一...

涟源市18526643321: C++编程问题
廉例脑心: #include "stdafx.h" #include<iostream> using namespace std; int main(int argc, char* argv[]) { int a[11]; int b[11]; int sum[11]; int i; for(i=1;i<=10;i++) { cout<<"输入a的第"<<11-i<<"位数:"; cin>>a[i]; }; for(i=1;i<=10;i++) { cout<<"输入b的第...

涟源市18526643321: 一个C++问题 -
廉例脑心: if(c'9') break; 表示当输入的字符不在0和9之间,则结束循环,反之则继续循环工作,知道三次完成,当你只是输入8时,满足继续循环条件,所以计算机在等待你继续输入下个字符,当然没有反应,88也一样 输入888时,刚好循环结束,date是int型,后面语句强制把字符(ACSII码的值)转换为数据.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网