Computer Games Forum
 

Go Back   Computer Games Forum > Tech > The Workshop > Limbaje de programare

Notices

Căutare produse PC Garage: Şterge căutarea

Reply
 
LinkBack Thread Tools
Old 01-04-2007, 22:44   #1 (permalink)
Registered User
 
amosfaimos's Avatar
 
Join Date: May 2004
imi dati o mana de ajutor in c :)? ms

nu stiu sa fac asta..sunt incepator..invat c...de ex...datele problemei..se introduce un text ASJKjkjSkjkSKJS SKJ...unele sunt litere mari altele mici..sa se afiseze exact opusul...alea mari sa fie mici si alea mici sa fie mari...eu am facut atata..atat am stiut anybody?
#include<stdio.h>
#include<conio.h>
#include<ctype.h>

void main(void)

{
clrscr();

char c[];

printf("intro caractere \n ");

gets(c);


printf(" %s ",c);


getch();
}
 
amosfaimos is offline    Send Message via Google Talk to amosfaimos Reply With Quote
Old 02-04-2007, 01:22   #2 (permalink)
 
Join Date: Jan 2004
nu mai stiu exact cu C mare branza dar folosesti functiile din ctype: isalpha (test sa vezi daca ce citesti este litera), isupper(test daca e UPPERCASE) si tolower (faci litera mica daca este mare), toupper (cred ca e evident ce face), merge si sa folosesti islower

si bagi asta inainte sa afisezi pe c ala, oricum nu mai retin daca astea se folosesc pe stringuri sau pe chars
__________________
Traian Basescu is my Superman
 
Lord is offline    Reply With Quote
Old 02-04-2007, 17:29   #3 (permalink)
Registered User
 
asmvax's Avatar
 
Join Date: Mar 2005
Location: Bucharest
#include "stdafx.h"
#include <conio.h>
#include <ctype.h>

int _tmain(int argc, _TCHAR* argv[])
{

char c[100];
int i;
int g;

printf("intro caractere \n ");
gets(c);

g=strlen(c);
for (i = 0 ; i < g ;i++)
{
if (islower(c[i]))
c[i]=toupper(c[i]);
else
c[i]=tolower(c[i]);
}
printf(" %s ",c);
getch();
return 0;
}
__________________
I sell suicide solutions!
 
asmvax is offline    Reply With Quote
Old 02-04-2007, 17:49   #4 (permalink)
Registered User
 
amosfaimos's Avatar
 
Join Date: May 2004
hmmm..intre timp tot ma chinuiam si eu...dar nu imi mergea...poti sa imi spui ce am gresit la al meu :: ?

#include<stdio.h>
#include<conio.h>
#include<ctype.h>

void main(void)

{
clrscr();

char c;

printf("intro literele \n");
do {

c=getch();
if (c==tolower(c))
putchar(c);
else
putchar(toupper(c));
}
while (c != '0');

getch();
}
--------------------
Editare ulterioară
--------------------
mai vreau sa te intreb ceva..am incercat sa rulez ce mi-ai dat tu ...imi da eroare la chesti asta...unable to open include file 'stdafx.h'e ...prima eroare...restu banuiesc ca de aici se leaga....crezi ca e din cauza compilatorului?...mi-am luat o carte totul despre c/c+ si are cd inclus si pe ala l-am instalat....

Last edited by amosfaimos; 02-04-2007 at 17:49.. Reason: Automerged Doublepost
 
amosfaimos is offline    Send Message via Google Talk to amosfaimos Reply With Quote
Old 02-04-2007, 18:56   #5 (permalink)
Registered User
 
asmvax's Avatar
 
Join Date: Mar 2005
Location: Bucharest
e facut in .net (c++ 7.0)
depinde ce versiune de c++ folosesti.

mai adauga

#include <windows.h>
__________________
I sell suicide solutions!
 
asmvax is offline    Reply With Quote
Old 03-04-2007, 03:29   #6 (permalink)
 
Join Date: Jan 2004
Quote:
c=getch();
if (c==tolower(c))
putchar(c);
else
aici nu stiu cat de bine functioneaza aia cu c==tolower(c)
nu stiu ce vroiai sa testezi, dar daca era vorba de uppercase, atunci puneai if isupper(c) si cam atat fara egal egal
__________________
Traian Basescu is my Superman
 
Lord is offline    Reply With Quote
Old 03-04-2007, 14:13   #7 (permalink)
Registered User
 
amosfaimos's Avatar
 
Join Date: May 2004
l-am adaptat la compilatorul meu si merge ms, numa nu inteleg 2 chestii ...ce e cu return 0, nu stiu de ce se pune...l-am lasat fara...si pe urma a 2-a chestie ...introduci sirul...si doar cand apesi enter iti afiseaza...nu imi dau seama cum face legatura..de unde stie de enter.....programul l-am inteles in rest complet

//#include "stdafx.h"

#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>

//int _tmain(int argc, _TCHAR* argv[])

void main(void)

{

char c[100];
int i;
int g;

printf("intro caractere \n ");
gets(c);

g = strlen(c);
for (i = 0 ; i < g ;i++)
{
if (islower(c[i]))
c[i]=toupper(c[i]);
else
c[i]=tolower(c[i]);
}
printf(" %s ",c);
getch();
// return 0;
}



si la al meu mi-am dat seama ce am gresit...la conditie islower e true sau false dc e mic returneaza...m-am uitat la tine si am incercat cu instructiunea ta..si pe urma m-am uitat in index si mi-am dat seama ..toppuer si tolower face schimbul .mic mare...dar nu return true sau false... e pun pic diferit de al tau...ca afiseaza direct...cred ca mai bun e al tau ...
#include<stdio.h>
#include<conio.h>
#include<ctype.h>

void main(void)

{
clrscr();

char c;

printf("intro literele \n");
do {

c=getch();
if (islower(c))
putchar(toupper(c));
else
putchar(tolower(c));
}
while (c != '0');

getch();
}

oki ms all ..moderartor..nu stiu..dc vrei poti sa stergi threadul ...eu am aflat ce trebuia...eventual...dc mai vor si altii sa se uite..care invata ca mine
 
amosfaimos is offline    Send Message via Google Talk to amosfaimos Reply With Quote
Old 03-04-2007, 14:20   #8 (permalink)
Registered User
 
asmvax's Avatar
 
Join Date: Mar 2005
Location: Bucharest
orice functie returneaza ceva
in caz ca ai pus void main(void) return 0 este optional
__________________
I sell suicide solutions!
 
asmvax is offline    Reply With Quote
Old 03-04-2007, 20:22   #9 (permalink)
Registered User
 
WyldSnake's Avatar
 
Join Date: Jun 2006
Location: Capital of culture
De preferat foloseste int main() si return 0.

Astfel, daca se returneaza 0 sistemul stie ca programul a rulat pana la capat fara probleme.
 
WyldSnake is offline    Reply With Quote
Old 04-04-2007, 03:18   #10 (permalink)
 
Join Date: Jan 2004
e mai mult un gen de "asa se face" nu e musai ca merge si altfel dar in general pentru un program corect toate functiile trebuie sa returneze ceva
__________________
Traian Basescu is my Superman
 
Lord is offline    Reply With Quote
Old 04-04-2007, 15:56   #11 (permalink)
Registered User
 
WyldSnake's Avatar
 
Join Date: Jun 2006
Location: Capital of culture
Intr-adevar, declararea void main() e non-standard, plus ca ai sanse sa nu fie acceptata de toate compilatoarele.
 
WyldSnake is offline    Reply With Quote
Old 04-04-2007, 16:20   #12 (permalink)
Subterranean infiltrator
 
Karg's Avatar
 
Join Date: Apr 1999
compilatoarele accepta, pe majoritatea pe care am incercat (gcc, sun CC, borland, ms), compilarea void main() da un warning de genul "main declared deprecated". afaik, in c e legal (as in iso standard) sa ai void main, in c++ nu.
__________________
red birds will fly out of the east and destroy paris in a night
 
Karg is offline    Reply With Quote
Old 05-04-2007, 00:34   #13 (permalink)
BT
Registered User
 
BT's Avatar
 
Join Date: Jun 1999
Ok, hai sa complicam putin problema: toata treaba sa se faca pe unicode si luand in considerare locale-ul sistemului.

P.S: Se poate si mai rau.
 
BT is offline    Reply With Quote
Old 13-04-2007, 02:04   #14 (permalink)
Registered User
 
Join Date: Nov 2006
OK, observatie de cusurgiu:
Quote:
Originally Posted by asmvax View Post

g=strlen(c);
for (i = 0 ; i < g ;i++)
{
if (islower(c[i]))
c[i]=toupper(c[i]);
else
c[i]=tolower(c[i]);
}
sirurile de caractere in C se termina mereu cu \0. functia strlen, ca sa determine lungimea sirului respectiv il parcurge pana gaseste \0 .
Dupa asta, mai parcurgi inca odata ca sa faci conversia fiecarui caracter. In realitate nu e nevoie sa parcurgi de 2 ori sirul respectiv, se poate face cu o singura parcurgere.
 
daedalus001 is offline    Reply With Quote
Old 13-04-2007, 15:49   #15 (permalink)
Registered User
 
asmvax's Avatar
 
Join Date: Mar 2005
Location: Bucharest
sunt convins ca exista mai multe metode....omul a cerut ajutor, eu am oferit o metoda...
tu ai alta....poti sa o prezinti.....
__________________
I sell suicide solutions!
 
asmvax is offline    Reply With Quote
Advertisment
Reply

  Computer Games Forum > Tech > The Workshop > Limbaje de programare

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT +2. The time now is 06:37.


Advertisement System V2.5 By   Branden
This site is copyrighted ©1997 - 2008, Computer Games Online SRL