数学建模社区-数学中国
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
[打印本页]
作者:
蕾欧娜
时间:
2015-4-20 10:36
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
8 f2 B+ O. h1 Z$ x' X- b1 K1 u
代码:
7 a: A* C7 [0 B7 j2 \8 T
#include "stdio.h"
8 O0 { k6 t& t9 ^$ U; [
#include "conio.h"
# `: q6 O/ D- S1 D! q/ M a
#include "stdlib.h"
0 R; S3 t- w6 k' {, Q/ b" H
3 ^ p( m4 E6 H" M& P" n2 o
int add_people();
# i' z( W$ ]0 w/ o
/*void check_people();
( k5 z% }8 n: D* d+ k' R
void revise_people();
' s0 s- f# y* u1 r
void delete_people();*/
% U' C" x# k% G9 B/ Z% t! [% n3 j
void save_exit();
?0 J- ~/ \1 \/ d
1 i( ?, o/ d- a; F6 l3 s
! R! Y% P9 t% I- _% M( @! k
4 O$ U# s+ R$ n- i# x. |2 x* h
main()
1 I9 Z0 b7 J- \- c( ?
{
2 [( q/ s; h/ F, w* r& f6 O+ I5 \8 ^( O
int com; /* 定义com变量用作读取操作符*/
$ \0 j+ S9 l/ k8 J
printf("======================Welcome to Message manage system=========================\n");
8 V& P, Y4 k, C" a& m" J
printf("\n");
2 {/ U5 h* Q6 t9 O$ C, m
printf("===============1.Add contact people 2.Check contact people=================\n");
1 T: k3 K1 r; [+ g
printf("\n");
7 m" Z e) i- v- a" \* I
printf("===============3.Revise contact people 4.Delete contact people================\n");
}7 J1 T- r; R$ t8 _0 ^! @1 u
printf("\n");
% ?3 [/ Y" s3 g* s: \
printf("============================ 5.Save&Exit======================================\n");
0 z1 c, R9 e4 u8 z' j
scanf("%d",&com);
% Z$ o$ M) C8 C5 k& i
while(1)
, l7 q; Q0 a7 c3 W0 ?
{
) x! E0 m1 w( X3 i
switch(com)
( v, A$ L" m) A( ~
{
. x& C. s4 p8 @9 ^! |
case 1:add_people();break;
" \; E1 m! d* e
/*case 2:check_people();break;
( H; G5 C/ N4 V4 V7 B9 f
case 3:revise_people();break;
P" c4 K) a3 Q9 d; }% P
case 4:delete_people();break;*/
; e9 }7 H1 k9 o- h: ?* g0 _+ d
case 5:save_exit();break;
# J0 k8 \3 R1 f0 G
}
5 `0 p4 w# C/ a' M' l: j
}
, g- ~- Z: R0 d2 \3 p4 k2 u
& g) W+ L9 |( m2 ~% D3 m
; k) l$ V, r- P0 `5 {. G
}
+ X( p4 x9 ]% t) ]/ j0 @# p( J
4 c) h- R. u( p* Q9 J: F
int add_people()
- U& {7 I3 d, ~- C) U
{
& }: H- L1 V# _, P
FILE *fp;
* g5 e v. d% t: i% _3 C3 b; x
char people,phone,filename[10],temp;
6 \$ V$ a7 { R& {9 X
temp=78;
) o7 U% Y0 j: c2 q) Z
while(1)
; z' c. a9 V9 ]; k( f6 S; O
{
# Z% q. p& F) }+ B
printf("输入要存储到的文件名\n");
8 h$ Y/ G) ?9 V) ` L$ n# e+ m% L5 G: A
scanf("%s",filename);
1 @/ Z( Q' W# s, w* N
if((fp=fopen(filename,"w"))==NULL)
" S4 n6 Z7 z0 T7 Y! f8 s9 J
{
- d2 @: G. S& a0 ^; W. P
printf("无法打开\n");
' t9 x, D5 E# J! L) ?
exit(0);
( \0 b9 f' n" S7 l, K; S& n, l" E
}
3 B& E7 u1 Y7 |0 ^! D o3 \) q
loop: printf("请输入你要保存的联系人(以#结束)\n");
2 k$ ~2 s' m$ ^) U; f( _2 c" n
people=getchar();
8 [7 P9 W1 s, v! ~& {2 y
while(people!='#')
3 c5 z9 T6 Q* |
{
7 y' g' C6 k) W9 ?3 e! I/ U3 X8 m+ S
fputc(people,fp);
- o! x& Z/ N( z; P
putchar(people);
$ p) |; U/ p7 {. l1 Z% h; f
people=getchar();
9 g- y' ~! @7 i! |9 W0 k
}
1 R& P) r1 Y/ |) o. F3 G. z
printf("请输入要保存的联系人号码(以#结束)\n");
+ a% l0 g, [9 N6 o; ~! ^
phone=getchar();
. n1 s- G0 E' p+ t" ^; Z' \
while(phone!='#')
) [ J d: q2 w$ V, A
{
) U" ^3 M6 f4 E. @* q g
fputc(phone,fp);
[# @" f' v! H: @. y8 [0 N* f' h
putchar(phone);
4 o+ J+ {( c9 M& q) \: B# ] ~9 u
phone=getchar();
, p* K1 y: d+ F) ^
}
a8 y* J0 Z# A8 ~
putchar(10);
$ D& {% n. e4 I6 A7 L
printf("是否继续添加联系人Y/N\n");
4 i+ o/ ]( c; c9 G
scanf("%s",&temp);
% N( x8 n7 f h2 K
if(temp=='n'||temp=='N')
9 B7 M' P$ b$ I2 m8 k- ^
{
9 k! y, A5 C$ H" k& a, a2 m2 u7 c
printf("按下任意键返回主菜单\n");
- Z. J. ?3 K# \4 G7 ?$ j5 o0 T( ~. N
getchar();
# I5 e8 o% J6 V+ ?! L; j0 d5 m
return 0;
! X5 w x5 [1 M: b8 Z
}else
& p- c3 V& G: B$ F. s0 a
goto loop;
# g p) Y U6 T' _' N
}
. ?* t* w5 o4 M$ W; _+ Y% `
fclose(fp);
+ V# l) Y! k. O |+ `
return 0;
% [% T, \' N; E+ j! F9 F$ M
}
. z n" p. \8 A) _8 r, o! @$ q
3 K! M1 i6 d" T6 R4 V6 K* J m' X
void save_exit()
/ a9 D% A0 L" u- @8 Y
{
1 A, t7 j7 y/ A m
printf("按下任意键退出\n");
/ h3 c6 r$ d6 V2 }2 `# n) f: P
getchar();
# T }+ c: _( [1 {) H
exit(0);
. p! j5 b" u+ ^2 }* U) L% x w
}
$ }: Y$ _/ {7 _: C. B- M
问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
( W* ~) U8 [5 P G& {* e
; i' H2 L, A0 ?1 x0 E
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5