RedNexX

Resumo C

Sep 29th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <locale.h>
  5. #include <string.h>
  6. #include <ctype.h>
  7.  
  8. int op;
  9.  
  10. void menu ()
  11. {
  12. printf("1- Bubble Sort (Manual)\n");
  13. printf("2- Bubble Sort (Random)\n");
  14. printf("3- Escrita de ficheiro\n");
  15. printf("4- Leitura de Ficheiro\n");
  16. printf("5- Leitura e Escrita de Ficheiro\n");
  17. printf("6- Leitura de Ficheiro com nomes e valores\n");
  18. printf("7- Escrita de Ficheiro com strings do utilizador\n");
  19. printf("8- (VOID*)Espera Enter\n");
  20. printf("9- (VOID) Operações Simples\n");
  21. printf("10- (VOID) Adicionar 2 valores\n");
  22. printf("11- (VOID) Leitura de String e Devolve Caractéres 4\n");
  23. printf("12- (VOID) Máximo & Mínimo\n");
  24. printf("13- (VOID) Par ou Ímpar\n");
  25. printf("14- (VOID) Cálculo de Valor Base com Potencial\n");
  26. printf("15- Sair!\n");
  27.  
  28. scanf("%d",&op);
  29. };
  30.  
  31. void EsperaEnter()
  32. {
  33. int tecla;
  34.  
  35. printf("Pressione ENTER!\n");
  36. scanf("%s",&tecla);
  37. do
  38. {
  39.  
  40. if (tecla!=13)
  41. {
  42. printf("Enter Introduzido!\n");
  43. break;
  44. }
  45.  
  46. }while(tecla!=13); //13=ENTER ASCII
  47. }
  48.  
  49. float divisao(float entrada1,float entrada2)
  50. {
  51. return (entrada1/(float)entrada2);
  52. }
  53.  
  54. int multiplicacao(int entrada1,int entrada2)
  55. {
  56. return entrada1*entrada2;
  57. }
  58.  
  59. int soma(int entrada1,int entrada2)
  60. {
  61. return entrada1+entrada2;
  62. }
  63.  
  64. int subtracao(int entrada1,int entrada2)
  65. {
  66. return entrada1-entrada2;
  67. }
  68.  
  69. int a,b;
  70.  
  71. int adicionar ()
  72. {
  73. return a+b;
  74. }
  75.  
  76. int contar(char str[20])
  77. {
  78.  
  79. int i;
  80.  
  81. i= strlen(str);
  82.  
  83. return i;
  84.  
  85. }
  86.  
  87. int max(int a,int b,int c)
  88. {
  89. if(a>b && a>c)
  90. return a;
  91. else if(b>c && b>a)
  92. return b;
  93. else if (c>a && c>b)
  94. return c;
  95. }
  96.  
  97. int min (int a, int b, int c)
  98. {
  99. if(a<b && a<c)
  100. return a;
  101. else if(b<c && b<a)
  102. return b;
  103. else if(c<a && c<b)
  104. return c;
  105. }
  106.  
  107. int validar(int num)
  108. {
  109. if(num%2==0)
  110. return true;
  111. else
  112. return false;
  113. }
  114.  
  115. float Pot(float x,int n)
  116. {
  117. float res=1.0;
  118. int i;
  119.  
  120. for(i=1;i<=n;i++)
  121. {
  122.  
  123. res=res*x;
  124.  
  125. }
  126.  
  127. return res;
  128.  
  129. }
  130.  
  131. main()
  132. {
  133.  
  134. inicio:
  135.  
  136. setlocale(LC_ALL,"Portuguese");
  137.  
  138. srand(time(NULL));
  139.  
  140. int n,c,d,array[100],swap;
  141.  
  142. while(op!=15)
  143. {
  144.  
  145. menu();
  146.  
  147. switch(op)
  148. {
  149. case 1:
  150. {
  151.  
  152. int array[100],n,c,d,swap;
  153.  
  154. printf("Introduza o número de elementos!\n");
  155. scanf("%d",&n);
  156.  
  157. printf("Introduza %d números inteiros!\n",n);
  158.  
  159. for(c=0;c<n;c++)
  160. scanf("%d",&array[c]);
  161.  
  162. for (c=0; c< (n-1);c++)
  163. {
  164. for (d=0; d < (n-c-1);d++)
  165. {
  166. if(array[d]>array[d+1])
  167. {
  168. swap=array[d];
  169. array[d]=array[d+1];
  170. array[d+1]=swap;
  171. }
  172. }
  173. }
  174.  
  175. printf("Ordem Ascendente!\n");
  176. printf("\n");
  177.  
  178. for (c=0;c<n;c++)
  179. printf("|%d|\n",array[c]);
  180.  
  181. break;
  182. }
  183.  
  184. case 2:
  185. {
  186. printf("Introduza o número de elementos!\n");
  187. scanf("%d",&n);
  188.  
  189. for(c=0;c<n;c++)
  190. array[c]=rand()%100;
  191.  
  192. for(c=0;c<(n-1);c++)
  193. {
  194. for(d=0;d<(n-c-1);d++)
  195. {
  196. if(array[d]>array[d+1])
  197. {
  198. swap=array[d];
  199. array[d]=array[d+1];
  200. array[d+1]=swap;
  201. }
  202. }
  203. }
  204.  
  205. printf("Ordem Ascendente!\n");
  206. printf("\n");
  207.  
  208. for(c=0;c<n;c++)
  209. printf("|%d|\n",array[c]);
  210.  
  211. break;
  212. }
  213.  
  214. case 3:
  215. {
  216.  
  217. FILE *fp;
  218.  
  219. char s[50];
  220. char s1[50]="Susana";
  221. char s2[50]="Xavier";
  222.  
  223. printf("Introduza o nome do ficheiro\n");
  224. scanf("%s",&s);
  225.  
  226. fp=fopen(s,"w");
  227.  
  228. if (fp==NULL)
  229. printf("NÃO FOI POSSÍVEL ABRIR O FICHEIRO!\n");
  230. else
  231. {
  232.  
  233. printf("Ficheiro %s aberto aberto com sucesso!\n",s);
  234. fprintf(fp," NOME: %s \n NOME: %s",s1,s2);
  235. fclose(fp);
  236. }
  237.  
  238.  
  239. break;
  240. }
  241.  
  242. case 4:
  243. {
  244.  
  245. char s[20];
  246. int ch;
  247.  
  248. FILE *fp;
  249.  
  250. printf("Introduza o nome do ficheiro que pretender ler!\n");
  251. scanf("%s",&s);
  252.  
  253. fp=fopen(s,"r");
  254.  
  255. while((ch=fgetc(fp))!=EOF)
  256. {
  257. putchar(ch);
  258. }
  259. fclose(fp);
  260. break;
  261. }
  262.  
  263. case 5:
  264. {
  265. FILE *fp;
  266.  
  267. int valor,i,ch;
  268.  
  269. printf("Introduza a tabuada que pretende saber!\n");
  270. scanf("%d",&valor);
  271.  
  272. fp=fopen("tabuada.txt","w");
  273.  
  274. if (fp==NULL)
  275. printf("ERRO AO ABRIR FICHEIRO!\n");
  276. else
  277. {
  278. for(i=1;i<11;i++)
  279. fprintf(fp,"%d x %d = %d\n",valor,i,valor*i);
  280.  
  281. fclose(fp);
  282.  
  283. }
  284.  
  285. fp=fopen("tabuada.txt","r");
  286.  
  287. while((ch=fgetc(fp))!=EOF)
  288. putchar(ch);
  289.  
  290. fclose(fp);
  291.  
  292. }
  293.  
  294. case 6:
  295. {
  296.  
  297. FILE *fp;
  298.  
  299. char fich[100],nome[100];
  300. int nota;
  301.  
  302. printf("Introduza o nome do ficheiro!\n");
  303. scanf("%s",&fich);
  304.  
  305. fp=fopen(fich,"r");
  306.  
  307. while(fscanf(fp,"%s %d",&nome,&nota)!=EOF)
  308. {
  309. if (nota>=10)
  310. printf("%s %d\n",nome,nota);
  311. }
  312.  
  313. fclose(fp);
  314.  
  315. break;
  316. }
  317.  
  318. case 7:
  319. {
  320.  
  321. FILE *fp;
  322.  
  323. char s[20],str[20];
  324.  
  325. printf("Introduza o nome do ficheiro!\n");
  326. scanf("%s",&s);
  327.  
  328. fp=fopen(s,"w");
  329.  
  330. while(strcmp(str,".")!=0)
  331. {
  332.  
  333. printf("Introduza uma String!\n");
  334. scanf("%s",&str);
  335.  
  336. fprintf(fp,"%s\n",str);
  337.  
  338. }
  339.  
  340. fclose(fp);
  341.  
  342. break;
  343. }
  344.  
  345. case 8:
  346. {
  347.  
  348. EsperaEnter();
  349. EsperaEnter();
  350. EsperaEnter();
  351. break;
  352. }
  353.  
  354. case 9:
  355. {
  356.  
  357. int entrada1,entrada2;
  358.  
  359. printf("Introduza 2 valores!\n");
  360. scanf("%d %d",&entrada1,&entrada2);
  361.  
  362. printf("SOMA: %d\n",soma(entrada1,entrada2));
  363. printf("SUBTRAÇÃO: %d\n",subtracao(entrada1,entrada2));
  364. printf("MULTIPLICAÇÃO: %d\n",multiplicacao(entrada1,entrada2));
  365. printf("DIVISÃO: %.2f\n",divisao(entrada1,entrada2));
  366.  
  367. break;
  368. }
  369.  
  370. case 10:
  371. {
  372.  
  373. adicionar();
  374.  
  375. break;
  376. }
  377.  
  378. case 11:
  379. {
  380.  
  381. char palavra[20];
  382. int j;
  383.  
  384. printf("Introduza uma String!\n");
  385. scanf("%s",&palavra);
  386.  
  387. j=contar(palavra);
  388.  
  389. printf("A Palavra %s tem %d caractéres!\n",palavra,j);
  390.  
  391. break;
  392. }
  393.  
  394. case 12:
  395. {
  396.  
  397. int a,b,c;
  398.  
  399. printf("Introduza 3 valores!\n");
  400. scanf("%d %d %d",&a,&b,&c);
  401.  
  402. printf("Máximo= %d\n",max(a,b,c));
  403. printf("Mínimo= %d\n",min(a,b,c));
  404.  
  405. }
  406.  
  407. case 13:
  408. {
  409.  
  410. int num;
  411.  
  412. printf("Introduza um número!\n");
  413. scanf("%d",&num);
  414.  
  415. if(num==0)
  416. printf("Valor Nulo!\n");
  417. else if(validar(num)==1)
  418. printf("PAR!\n");
  419. else
  420. printf("ÍMPAR!\n");
  421.  
  422. break;
  423. }
  424.  
  425. case 14:
  426. {
  427.  
  428. float valor; int base;
  429.  
  430. printf("Introduza a um valor real!\n");
  431. scanf("%f",&valor);
  432.  
  433. printf("Introduza o valor de potencial!\n");
  434. scanf("%d",&base);
  435.  
  436. printf("O valor final é %.2f\n",Pot(valor,base));
  437.  
  438. break;
  439. }
  440. }
  441. }
  442.  
  443. char resp;
  444.  
  445. printf("R- Reiniciar | S- Sair\n");
  446. scanf("%c",&resp);
  447.  
  448. if(toupper(resp)=='R')
  449. { goto inicio;
  450. system("cls");
  451. }
  452. }
Advertisement
Add Comment
Please, Sign In to add comment