数学建模社区-数学中国
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
[打印本页]
作者:
蕾欧娜
时间:
2015-4-20 10:36
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
' H/ P# ?; i" R
代码:
+ J y B# c% q% [& G
#include "stdio.h"
6 j! _% b: h5 } I @6 Q
#include "conio.h"
- E# d0 `0 m* e/ O+ R
#include "stdlib.h"
! V8 C7 t' a0 L5 H; g& B; |* p
8 U- H* {6 v' S7 T" D" q5 X
int add_people();
5 x8 D" ^( T6 u {& \6 a! Z( a
/*void check_people();
I6 d7 W/ Y. g5 N( l
void revise_people();
- I$ }7 g9 q$ d3 q" w; [' _
void delete_people();*/
' b. K8 Z; ~+ i* V( X6 M6 {5 i) b3 W
void save_exit();
9 O+ H# P2 B9 p( S# C6 ]) o
% F+ Z/ U+ l6 B; J0 I$ Y C( N, G7 J
, ?6 R$ e6 e, d) T( C
, j$ C8 z) r4 z+ x
main()
! n# m& x8 }. v4 Y6 }- ]. g" t
{
7 T# W1 s, _$ z5 J& _
int com; /* 定义com变量用作读取操作符*/
9 d5 o" i! g" @. o! B6 {
printf("======================Welcome to Message manage system=========================\n");
. G. x" Z3 F0 B
printf("\n");
0 X0 y0 u R* h
printf("===============1.Add contact people 2.Check contact people=================\n");
4 U' n/ l9 d! X, ?! z7 r
printf("\n");
! S6 e: z8 G0 y2 ~# y- w
printf("===============3.Revise contact people 4.Delete contact people================\n");
! N' z8 b$ E0 D5 y# w a
printf("\n");
; c9 o9 F# l7 O. G
printf("============================ 5.Save&Exit======================================\n");
0 A6 O5 l0 g3 v' O0 l* k" X, H) @
scanf("%d",&com);
' U& J& `; G5 m2 i6 n# g8 R. e, ?
while(1)
; u0 U+ T8 q# v" i8 E
{
c" e5 B: |8 C5 U2 c
switch(com)
! B5 K) W( x# h! I5 N
{
0 m/ u- x$ b/ q: D: } G' } u
case 1:add_people();break;
" K0 p9 W$ m3 q3 ]
/*case 2:check_people();break;
9 i7 [7 `% `- {2 p0 h, K/ D" |
case 3:revise_people();break;
+ {/ `4 }) f2 _) n
case 4:delete_people();break;*/
7 l; l, x g% r- l
case 5:save_exit();break;
6 @' z* R. ?# d
}
; ^% w) Y+ R) L5 X/ A
}
+ e, R9 U7 i3 k& _
9 H9 \* Y, f; h8 Z
9 F9 y: s/ q2 u3 Q: |" N
}
9 {; U# K. ^0 z9 d" [+ @2 j6 j
8 T4 j: K8 _, u1 D& g5 z0 h
int add_people()
/ d, v, Z8 K6 @+ F2 v
{
! n9 x( \* B5 }# A% w2 A& S
FILE *fp;
+ u/ {& f9 e0 i+ p' H- c2 e
char people,phone,filename[10],temp;
% D* g6 K; \9 |( }; h
temp=78;
$ B& p _2 y: N# r6 E: _) u- ]
while(1)
% Q; D+ B+ ?% ^
{
$ G- F3 ~/ ?) X5 K( ^
printf("输入要存储到的文件名\n");
# O! x: w3 h" E" h$ p8 m! l( s
scanf("%s",filename);
" s( X8 j" b5 c8 s
if((fp=fopen(filename,"w"))==NULL)
5 ]! Z1 S6 t! o7 i- L1 V( M
{
) e- ^. @: o8 s/ z$ n! _
printf("无法打开\n");
" o5 k. h$ _' T2 w2 B
exit(0);
) T/ M( ?) [2 b k0 L" x
}
/ }- a. K N' S" D) @
loop: printf("请输入你要保存的联系人(以#结束)\n");
6 ]+ K' @& j/ \) Y: _& w
people=getchar();
* [) ~( P. N9 S* L5 N
while(people!='#')
$ a; q* V5 |* j2 s, R6 C( g: o
{
5 q: q2 G/ ^- o( H, f
fputc(people,fp);
Z7 B8 s _% o( w
putchar(people);
$ L" t$ O; _& e: o2 B; L. W5 c
people=getchar();
# N+ Q4 u! h; _1 W
}
" c4 X) {9 d; D3 g
printf("请输入要保存的联系人号码(以#结束)\n");
, x4 ^6 h. Q( {+ }0 b; I% V9 t9 E
phone=getchar();
+ b; u; B; F1 N' ^6 y
while(phone!='#')
& g: y( g Y9 Z
{
8 y0 E, x5 F* {0 w8 [
fputc(phone,fp);
+ D- p7 j7 o( N9 I5 |' q( Q5 ^- E
putchar(phone);
+ ]6 h. O6 b- c, ]
phone=getchar();
7 A5 }7 k. s. k9 _
}
* \, t! _8 F0 G. H3 J
putchar(10);
# d- r! M9 S3 M0 U" y% i
printf("是否继续添加联系人Y/N\n");
9 @8 k7 P1 J7 b" J5 Q/ l
scanf("%s",&temp);
% k7 h; q; O$ B, x
if(temp=='n'||temp=='N')
& [( Y2 B6 G3 w: b% k( D, e3 Q. x" _ F
{
. q2 D5 F; F$ B3 b/ `
printf("按下任意键返回主菜单\n");
6 O% A) t* y% h5 M0 \8 F" c1 L# f, Q
getchar();
2 n: n5 q' q r
return 0;
4 r! Z( L: r1 s
}else
4 q0 |% ~. M* T# x
goto loop;
, n" U9 S( s: k' ^* ^" q" Q
}
& k3 v" d6 L+ t% t$ b3 g5 _& }" f
fclose(fp);
) f4 E; Z% q% M2 {# R+ L
return 0;
& [% B4 i1 d' S+ I! P1 I* o
}
' Z( J6 t! M; [. q: s
" X0 F/ t4 F( \9 D& C' D* n* l
void save_exit()
2 t7 J! C6 V8 H1 M7 F! g4 d( V
{
9 z2 B$ |) }& x* x% A6 \4 V/ T
printf("按下任意键退出\n");
% N: i7 o- `$ d" @$ e# u6 T; `1 D
getchar();
! R" A; y6 P2 M7 u
exit(0);
# M T0 P- ]& }- N( D$ ^
}
k9 j+ C6 V' z9 ]; U
问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
4 b$ T: ]: m; o- p; H, e, A% ?0 F. A
, B8 n9 e0 }) x9 N/ F6 h
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5