Ⅰ c语言共用体实现设计个人名片,包含姓名,职业,电话
//共用体实例你看看行不
#include<stdio.h>
#include<windows.h>
#include<string.h>
//共用体
unionbusinessCard
{
charname[20];//存储姓名
charjob[20];//存储职业
charphoneNum[13];//存储电话号码
};
voidmain(void)
{
businessCardcard;
FILE*fp;
if(!(fp=fopen("businessCard.txt","a+")))
{
printf("文件打开失败 ");
exit(0);
}
else
{
printf(">输入姓名:");
scanf("%s",card.name);
fprintf(fp,"%s ",card.name);
printf(">输入职业:");
scanf("%s",card.job);
fprintf(fp,"%s ",card.job);
printf(">输入电话:");
scanf("%s",card.phoneNum);
fprintf(fp,"%s ",card.phoneNum);
}
fclose(fp);
//从已存储文件中读取名片
if(!(fp=fopen("businessCard.txt","r")))
{
printf("文件打开失败…… ");
exit(0);
}
inti,j;
i=1,j=1;
charbuf[20]="";
while(!feof(fp))
{
if(i==1||i-j*3==1)
{
fgets(card.name,20,fp);
if(strcmp(card.name,buf)!=0)
printf(">姓名:%s",card.name);
}
if(i==2||i-j*3==2)
{
fgets(card.job,20,fp);
printf(">职业:%s",card.job);
}
if(i==3||i-j*3==3)
{
fgets(card.phoneNum,20,fp);
printf(">电话:%s ",card.phoneNum);
strcpy(buf,card.phoneNum);
j++;
}
i++;
}
fclose(fp);
}
Ⅱ 如何用c语言编写一个程序,输出一张笑脸
你好
下面是很简单的显示程序
没有使用任何高级语法 楼主应该能看懂
#include <stdio.h>
int main(void)
{
printf(" * * * * *\n"
" * *\n"
" * ^ ^ *\n"
"* *\n"
"* *\n"
"* *\n"
" * ___ *\n"
" * *\n"
" * * * * *\n");
return 0;
}
希望能帮助你哈
Ⅲ 要用c语言设计一个个人通讯录,要求有步骤的截图,急急急,求大神帮帮忙啊
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#defineM3
FILE*fp;
charfn[50]={""};
typedefstructmessage{
charname[20];
charaddress[50];
chartelephone[15];
intpostcode;
structmessage*next;
}*LinkList,*NODE;
voidReadData(NODEp){
printf("姓名:");
scanf("%s",p->name);
printf("地址:");
scanf("%s",p->address);
printf("电话号码:");
scanf("%s",p->telephone);
printf("邮政编码:");
scanf("%d",&p->postcode);
}
voidShowLine(intn){
inti;
for(i=0;i<n;++i)
printf("*");
printf(" ");
}
voidShowData(NODEp){
printf("%s",p->name);
printf("%s",p->address);
printf("%s",p->telephone);
printf("%d ",p->postcode);
}
voidShowAll(LinkListhead){
NODEp;
if(head==NULL)return;
ShowLine(25);
for(p=head->next;p;p=p->next)
ShowData(p);
ShowLine(25);
}
LinkListCreateList(intn){
NODEhead,p;
inti;
head=p=(LinkList)malloc(sizeof(message));
for(i=0;i<n;++i){
p->next=(LinkList)malloc(sizeof(message));
printf("(%d/%d)的信息: ",i+1,n);
ReadData(p->next);
p=p->next;
}
p->next=NULL;
returnhead;
}
voidAddmember(LinkListhead){//头插法添加,可用于创建新链表
NODEp=(LinkList)malloc(sizeof(message));
ReadData(p);
if(head==NULL){
head->next=p;
p->next=NULL;
}
else{
p->next=head->next;
head->next=p;
}
}
NODESearch(LinkListhead,charname[]){
NODEp;
if(head==NULL)returnNULL;
for(p=head->next;p;p=p->next){
if(strcmp(p->name,name)==0)
ShowData(p);
returnp;
}
returnNULL;
}
voidModifyList(LinkListhead){
NODEp;
charname[20];
printf("被修改人的姓名:");
scanf("%s",name);
p=Search(head,name);
if(p==NULL)printf("查无此人。 ");
else{
ShowData(p);
ReadData(p);
}
}
intErase(LinkListhead,charname[]){//删除姓名为name的结点
intan;
NODEp,q;
if(head==NULL)return0;
for(p=head;p->next;p=p->next){
if(strcmp(p->next->name,name)==0){
ShowData(p);
printf("1.删除,0.不删除:");
scanf("%d",&an);
if(an==1){
q=p->next;
p->next=q->next;
free(q);
return1;
}
elsereturn0;
}
}
return0;
}
voidLoadData(LinkListhead){//传送文件的内容到内存
NODEp,tmp;
intan;
if(fn[0]=='