Yazar |
|
auzunun
Bursa
Kayıt: 15.01.2006 |
|
Ya arkadaşlar bir stringi gets veya scanf ile almanın ne gibi yararı veya zararı var bana acil cevap lazım 2. projede bir sorun yaşıyorum hala aşamadım bir sürü şey denedim ama olmadı
Öldüremiyorsan, yaralama.
|
|
Yazar |
|
nightwalker
Kayıt: 08.02.2006 |
|
scanf ile alırsan girilen değeri bosluk karakterine kadar alabilirsin
örneğin "iucoders sitesi" gibi bir giriş yapıldı diziye sadece iucoders kısmını alır
gets ile tamamını alıyo
|
|
Yazar |
|
clairvoyant
Antalya
Kayıt: 05.05.2006 |
|
auzunun yazdi | Ya arkadaşlar bir stringi gets veya scanf ile almanın ne gibi yararı veya zararı var bana acil cevap lazım 2. projede bir sorun yaşıyorum hala aşamadım bir sürü şey denedim ama olmadı |
scanf boşluğa kadar alır ayrıca boşluktan sonra kalan karakterleri de tamponda bırakır. Bu da daha sonra kullanılacak olan input fonksiyonları için tehdit oluşturur. Çünkü input fonksiyonları genelde ilk önce tampona bakar, boş değilse tampondaki karakterleri alır ve sanki kullanıcıdan almış gibi program devam eder. Tamponu temizlemek için çeşitli fonksiyonlar mevcut.
örn: fflush(stdin);
gets ise enter tuşuna basa kadar olan karakterleri alır, fakat girilen katar atanacak değişkenin kapasitesini aşsa bile gets tamamını almaya çalışır. Ben bütün bu sorunları yaşamamak için kendi input fonksiyonumu yazdım, artık onu kullanıyorum.
Let`s make this world a better place to live !
|
|
Yazar |
|
reccae
istanbul
banlandı
Kayıt: 15.02.2006 |
|
ne projeymiş ya
1 ayımı yediler
saat 24 olsunda kurtulalım şundan
insa ettigim binanin cimentosu kelâm
|
|
Yazar |
|
alpersara
Kayıt: 12.01.2006 |
|
stringlerle ilgili projenin içeriği nedir ? duyurularda göremedim.
|
|
Yazar |
|
reccae
istanbul
banlandı
Kayıt: 15.02.2006 |
|
alpersara yazdi | stringlerle ilgili projenin içeriği nedir ? duyurularda göremedim. |
string derken
hoca mail attı herkese
eğer 2. projeden bahsediyorsan
bölüm sayfasında da olması lazım
eğer bulamazsan atarım rapide
insa ettigim binanin cimentosu kelâm
|
|
Yazar |
|
alpersara
Kayıt: 12.01.2006 |
|
ben göremedim eğer atarsan çok makbule geçer. teşekkürler.
|
|
Yazar |
|
thongkum
MARDIN
Kayıt: 24.11.2006 |
|
Programming Languages I – Project II
Project Delivery Date&Time
The project will be delivered until the night 00:00 before the Final Examination Day.
Purpose
You are asked to prepare a console application that simulates some functions that are commonly used in general C libraries like string.h, stdlib.h,...etc. Mainly, in this project your pointer arithmetic skills will be tested, so you can’t use any indexing operator like input[3]. There will be no [ ] operator inside the code. You can just use pointer arithmetic like *(input + 3).
Application Specs
Your application will have a main entry point that is constructed only by a switch-case expressioned menu as you have managed to build it in the first home assignment (baklava project). Your main function will include no operational code, just menu, inputs from user according to choice and function calling expressions with those input values as argumans to the functions. Every operation on the inputs will be done in the appropriate functions, instead of main function. Take inputs from user then simply send them to your function. Menu and your code variables may be in Turkish or English.
a- Display Menu
b- Take user’s choice
c- Branch to the appropriate node in switch-case
d- Take inputs from user that is required for operation
e- Call your function and pass those inputs as argumans to your function
f- Show results in your own explanations (ex. String “TaRik” in lower cases : “tarik” ) The shape of your result explanations is not important, but try to make them clear and true.
g- Say “Press any key to make another operation...”
h- Clear your screen
i- Display menu again and wait for user commands
Your menu will include those items:
To be more understandable, I will switch to Turkish for menu:
1- Katar (string) kiyaslamak icin
2- Katari kucuk harfe donusturmek icin
3- Katari sifrelemek icin
4- Katari tersten yazdirmak icin
5- Katar icindeki kelime siralamasini tersine cevirmek icin
6- Cikmak icin
Lutfen seciminizi giriniz
>
You will implement 5 different functions that will be declared like shown below:
int KatarlariKiyasla (const char *inputStr1, const char *inputStr2);
- If inputStr1 is bigger than inputStr2 considering dictionary order, it returns 1
- If both of them are equal to eachother, returns 0
- Else it returns -1 to show inputStr2 is bigger than inputStr1
Ex.
KatarlariKiyasla (“Tarik”, “Ozgur”); // returns 1
void KucukHarfeCevir (char *inputStr);
- No return value
- Takes an input string and translate it to lowercase.
Ex.
char *input = “TaRIk”;
KucukHarfeCevir(input);
printf(“%s”, input); // prints tarik
void KatariSifrele (char *inputStr);
- Takes one arguman and for all chars inside that input string translates them 2 bigger of them.
- For ‘z’ and ‘Z’, it returns to start point of character set, ‘b’ and ‘B’
- For ‘9’ it is ‘1’ and for ‘8’ it is ‘0’
Ex.
char *input = “AaBzX91”;
KatariSifrele(input);
printf(“%s”, input); // printf CcDbZ13
As you see above, all of them is 2 bigger than the input chars.
void KatariTerstenYazdir (char *inputStr);
- Takes one arguman as string and reverse its characters.
Ex.
char *input = “KRAnDa”;
KatariTerstenYazdir(input);
printf(“%s”, input); // prints aDnARK
void KelimeSiralamasiniCevir(char *inputStr);
- Takes one string arguman with white spaces inside it.
- White spaces clarifies the words inside the string and helps us to distinguish them.
- Reverse word order inside the input string.
Ex.
char *input = “Yakup Tarik KRANDA”;
KelimeSiralamasiniCevir(input);
printf(“%s”, input); // prints KRANDA Tarik Yakup
Note:
Input string can only include max. 100 chars. So you can allocate enough space by using;
char input[100];
Have a good work...
Research Assistant Yakup Tarık KRANDA
Research Assistant Özgür Can TURNA
buyrun arkadaslar umarım ıstedıgınız budur....!!!!
....
|
|
Yazar |
|
vastani
istanbul
Kayıt: 14.12.2006 |
|
arkadaşlar bi sorum var. proje 2 de case 5 i oluştururken bi hata yapıyorum. birkaç kelimeyi birden almada sorun var sanırım. gets ile bunu nasıl yaparım?
yani fonksiyon hazır ama bunu çağırıp işleyemiyorum.
|
|
Yazar |
|
demeer
banlandı
Kayıt: 26.11.2006 |
|
vastani yazdi | arkadaşlar bi sorum var. proje 2 de case 5 i oluştururken bi hata yapıyorum. birkaç kelimeyi birden almada sorun var sanırım. gets ile bunu nasıl yaparım?
yani fonksiyon hazır ama bunu çağırıp işleyemiyorum. |
gets(yourstring);
bu işini görür
get out of my site
|
|
Yazar |
|
vastani
istanbul
Kayıt: 14.12.2006 |
|
case 5:
printf("kelimeleri giriniz...");
gets(input);
KelimeSiralamasiniCevir(input);
printf("%s",input);
return main();
aşağıda da KelimeSiralamasiniCevir diye fonksiyonu tanımladım. ama çalıştırınca kelimeleri giriniz diyor ve sonra return main yapıyor.
sorun nerede? yardımcı olabilirmisiniz?
|
|
Yazar |
|
musmula
istanbul
Kayıt: 11.03.2006 |
|
Daha önce scanf kullanmıssan ya scanf ten sonra yada gets ten önce flushall(); kullan
|
|
Yazar |
|
vastani
istanbul
Kayıt: 14.12.2006 |
|
teşekkürler arkadaşlar
herkese kolay gelsin
|
|
Yazar |
|
hamdikan
dünya
Kayıt: 23.01.2006 |
|
musmula yazdi | Daha önce scanf kullanmıssan ya scanf ten sonra yada gets ten önce flushall(); kullan |
musmula biliyosun sen bu işi
yok
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |